现在的位置: 首页 > Linux > 正文

RedHat网络配置方法

2012年11月27日 Linux ⁄ 共 3232字 ⁄ 字号 评论 1 条 ⁄ 阅读 11,598 次

Linux的网络主要是通过修改配置文件来实现的,虽然也可用命令ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后即会丢失。下面是相关的配置文件:

 

/ect/hosts        配置主机名和IP地址的对应,对本机提供解析

/etc/resolv.conf      配置域名(在hosts内解析不到时此域名生效)

/etc/sysconfig/network      配置主机名和网关

/etc/sysconfig/network-scripts/ifcfg-eth0 配置IP、Mask等网络参数

一、网卡配置

cat /etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.1.250

NETMASK=255.255.255.0

GATEWAY=192.168.76.1

ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127

ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0

ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0

ifconfig eth0 down

ifconfig eth0 up

二、多网卡配置:

cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.1.2

NETMASK=255.255.255.0

ONBOOT=yes

 

cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth1

BOOTPROTO=static

IPADDR=222.157.4.82

NETMASK=255.255.255.128

ONBOOT=yes

 

vi   /etc/rc.d/rc.local

route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0

route add -net 222.157.0.0/16 gw 222.157.66.1 dev eth1

三、网关配置:

注意:以下用命令设置的方式设置完后需要将命令加入到 /etc/rc.d/rc.local 中,否则重启后设置被自动清除!

1、在 /etc/sysconfig/network-scripts/ifcfg-eth0 中配置;

GATEWAY=192.168.76.1

2、在 /etc/sysconfig/network 中配置:

cat /etc/sysconfig/network

 

NETWORKING=yes

HOSTNAME=zhaohang.com

GATEWAY=192.168.76.1

3、用命令设置:

如果只需要添加默认路由可以这样设置:

route add default gw 192.168.1.1

route del default gw 192.168.1.254 (可以删除默认路由,用此方法改变后几分钟就可以生效.)

 

如果两个网卡均需要网关可以这样设置:

route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0

route add -net 222.157.0.0/16 gw 222.157.66.1 dev eth1

 

备注:设置好路由或默认网关以后可以用命令查看:

route -n

netstat -rn

route print (For windows)

四、域名配置:

vi /etc/resolv.conf

 

meserver 192.168.75.3

nameserver 202.102.192.68

search localdomain

 

网络重启

/etc/rc.d/init.d/network restart

五、单网卡绑定多个IP

有时,我们需要在一块网卡上配置多个IP,我们还需要为eth0配置IP 192.168.168.2和192.168.168.3。

那么需要再在/etc/sysconfig/network-scripts/ 下新建两个配置文件:

cat /etc/sysconfig/network-scripts/ifcfg-eth0:0

 

DEVICE=eth0:0

BOOTPROTO=static

IPADDR=192.168.1.2

NETMASK=255.255.255.0

ONBOOT=yes

 

cat /etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE=eth0:1

BOOTPROTO=static

IPADDR=192.168.1.3

NETMASK=255.255.255.0

ONBOOT=yes

六、多个网卡绑定成一块虚拟网卡

为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。

 

所谓bonding,就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。Kernels 2.4.12及以后的版本均提供bonding模块,以前的版本可以通过patch实现.

 

比如我们可以将eth0和eth1绑定成虚拟网卡bond0:

1、首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0:

cat /etc/sysconfig/network-scripts/ifcfg-bond0

 

DEVICE=bond0

BOOTPROTO=none

BROADCAST=192.168.168.255

IPADDR=192.168.168.1

NETMASK=255.255.255.0

NETWORK=192.168.168.0

ONBOOT=yes

TYPE=Ethernet

GATEWAY=192.168.168.250

USERCTL=no

 

2、然后分别修改eth0和eth1的配置文件:

 

cat /etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

 

cat /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

 

3、在/etc/modules.conf 文件中添加如下内容(如果没有该文件,则新建一个):

[因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module]

 

alias bond0 bonding

options bond0 miimon=100 mode=1 primary=eth0

 

其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡,mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active。还有其他一些模式很少用到,primary=eth0表示主备模式下eth0为默认的active网卡。

4、最后,在/etc/rc.local中加入

modprobe bonding miimon=100 mode=1

 

5、重启机器后可以看到虚拟网卡已经生效,可以通过插拔两个物理网卡的网线来进行测试,不过linux中网卡接管的时间好象比较长。