Centos绑定多个IP的方法及批量绑定IP的方法

租用美国服务器的客户如果选择linux类的操作系统,一般都会选择性能比较稳定的centos做为首选,而美国服务器一般都会提供多于1个以上的IP地址,那么centos下如何绑定IP呢?如果有很多IP需要绑定,那么centos下如何批量绑定IP呢?

Centos 绑定单个IP
单个IP或者不连续IP的绑定
依次运行命令:
cd /etc/sysconfig/network-scripts
cp  ifcfg-eth0 ifcfg-eth0:0
vi  ifcfg-eth0:0
打开文件后如下。

注意:每增加一个IP创建一个文件,如第二个为:cp  ifcfg-eth0 ifcfg-eth0:1
========================分割线================================
# Broadcom Corporation NetXtreme BCM5715 Gigabit Ethernet
DEVICE=eth0:0      #此处添加:0,保持和文件名一致,添加多个IP依次递增
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:40:D0:xx:xx:xx   #此处为网卡MAC地址切勿修改
IPADDR=85.25.xxx.xxx                  #此处修改为要添加的IP
NETMASK=255.255.255.128
ONBOOT=yes

=========================分割线===============================
保存退出  (保存退出简洁命令: 摁ESC键 然后摁大写键 然后摁 ZZ)
然后重启网络让IP生效: service network restart

批量绑定连续的IP

在/etc/sysconfig/network-scripts下创建一个range文件
比如,vi /etc/sysconfig/network-scripts/ifcfg-eth0-range0
加入以下内容:
====================================

DEVICE=eth0
BOOTPROTO=static
#网卡地址要和原始的一致
HWADDR=00:40:D0:xx:xx:xx    #Mac地址
IPADDR_START=xx.xx.xx.xx     #起始IP
IPADDR_END=xx.xx.xx.xx       #结束IP
CLONENUM_START=1
NETMASK=255.255.255.248  #子网掩码
ONBOOT=yes
TYPE=Ethernet

====================================
CLONENUM_START — 网络克隆接口的启始号. # eg “1″  生成的网络接口会从 eth0:1开始。
然后重启网络让IP生效: service network restart

这样就完成了centos下批量绑定IP的任务。

CentOS下安装Openvpn(含VPS)

前提:VPS已经打开tun/tap,装有iptables,openssl及openssl-devel,现在很多VPS尽量简化,编译器可能会需要安装gcc。

1,下载LZO和OpenVPN。
wget http://www.oberhumer.com/opensource/lzo … .04.tar.gz
wget http://openvpn.net/release/openvpn-2.1_rc22.tar.gz

2,安装,都使用默认路径,
./configure && make && make install
即可。

3,拷贝文件,初始化PKI。
cp -r /root/src/openvpn-2.1_rc22/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/2.0/
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
export KEY_SIZE=1024
export KEY_COUNTRY=US
export KEY_PROVINCE=FL
export KEY_CITY=Taipei
export KEY_ORG=”Sun”
export KEY_EMAIL=”[email protected]
. /vars

4,创建CA。

./clean-all
./build-ca

5,签发服务器证书和客户端证书。
./build-key-server server
./build-key client1

6,生成Diffie Hellman。
./build-dh
若不能执行,则 openssl dhparam -out ./keys/dh1024.pem 1024

证书生成完毕,可以把keys目录打包下载到本地以供客户端使用,下面进行openvpn服务器配置,

7,修改配置文件,如需使用代理连接,例如穿过中国移动CMWAP网关,配置文件中应使用tcp proto。
mkdir /etc/openvpn/2.0/conf
cd /etc/openvpn/2.0/conf && vi server.conf
——
port 1194
proto udp
dev tun
ca /etc/openvpn/2.0/keys/ca.crt
cert /etc/openvpn/2.0/keys/server.crt
key /etc/openvpn/2.0/keys/server.key置
dh /etc/openvpn/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push “redirect-gateway def1 bypass-dhcp”
push “dhcp-option DNS 10.8.0.1″
push “dhcp-option DNS 8.8.8.8″
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
——

8,启动openvpn.
/usr/local/sbin/openvpn –config /etc/openvpn/2.0/conf/server.conf

9,设置iptables nat,下面的环节,独立主机和OpenVZ会有一些区别,但区别不大,下为独立主机例,OpenVZ需要把eth0替换成venet0。

独立主机一般输入
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
即可,部分OpenVZ VPS需要执行
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -j SNAT –to-source x.x.x.x
其中x.x.x.x是VPS的IP地址。
保存防火墙配置:
/etc/init.d/iptables save
/etc/init.d/iptables restart

10,设置转发参数。
检查当前参数:sysctl -a | grep forward
对比下列参数,若有为0的项目,使用
sysctl -w net.ipv4.ip_forward=1
类似命令修改。
——
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.virbr0.mc_forwarding = 0
net.ipv4.conf.virbr0.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.ip_forward = 1
——

11,服务端设置已经完成,客户端配置文件如下,其中,x.x.x.x是服务器对外的服务IP地址,ca.crt,client1.crt,client1.key是之前在服务器上生成的服务器证书,客户端证书和客户端密钥。
——
client
dev tun
proto udp
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
redirect-gateway def1
——

欧美虚拟主机的默认时区更改

彻底郁闷了,机关算尽,我却一直忘记了可以在php.ini里面设置时区,导致花费了额外的几百块去买VPS,好在我英明神武的选择了月付,浪费的不多,总的来说,于做网站而言,VPS不是一个最好的选择。

一行代码,浪费几百块,这是多么惨痛的血的教训啊!

date.timezone = Asia/Taipei