Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。

相关的配置文件

/ect/hosts 配置主机名和IP地址的对应
/etc/sysconfig/network 配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推

一、网卡配置

假设我们要配置主机名为test,eth0的IP地址192.168.168.1/24,网关地址192.168.168.250

则/etc/sysconfig/network文件内容如下:

NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.168.250

eth0对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.168.1
NETMASK=255.255.255.0
TYPE=Ethernet
ONBOOT=yes


二、单网卡绑定多个IP

有时,我们需要在一块网卡上配置多个IP,例如,在上面的例子中,我们还需要为eth0配置IP 192.168.168.2和192.168.168.3。那么需要再在/etc/sysconfig/network-scripts下新建两个配置文件:

ifcfg-eth0:0 内容如下:

DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.168.2
NETMASK=255.255.255.0
ONBOOT=yes

ifcfg-eth0:1 内容如下:

DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.168.3
NETMASK=255.255.255.0
ONBOOT=yes

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

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

首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件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

然后分别修改eth0和eth1的配置文件
ifcfg-eth0内容:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes

ifcfg-eth1内容

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes

因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modules.conf 文件中添加如下内容(如果没有该文件,则新建一个):

alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0

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

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

modprobe bonding miimon=100 mode=1

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



---------------------------------------------------------------------------------------------------

1. 配置文件
/etc/hosts(本地主机ip地址映射,可以有多个别名)。
/etc/services(端口号与标准服务之间的对应关系)。

/etc/sysconfig/network(设置主机名,网关,域名)。
HOSTANME=zjw.com(主机名)(需要重启计算机才有效)
GATEWAY=192.168.1.1(网关)

/etc/rc.d/init.d/network restart(脚本服务启动)
service network restart(同上,是命令执行)

2.和DNS相关
/etc/host.conf
/etc/nsswitch.conf
/etc/resolv.conf(配置dns)

3.网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0(哪张网卡)
ONBOOT=yes
BOOTPROTO=static(静态ip状态设置)
BOOTPROTO=dhcp(dhcp获取)
IPADDR=192.168.1.8(静态ip地址)
NETMASK=255.255.255.0
GATEWAY=192.168.1.1(网关)(如果在此设置网关,则上面的无效)
MACADDR=00:0C:29:96:38:F8(修改mac地址)(永久有效)
/etc/rc.d/init.d/network restart(脚本启动)
service network restart(命令启动)

4.IP配置方法及自动获取ip
ifconfig eth0 192.168.0.10 将采用默认子网掩码
ifconfig eth0 192.168.0.10 netmask 255.255.255.252 (手动定义子网掩码)
ifconfig eth0 up(激活网卡)

/etc/sysconfig/network-scripts/ifup eth0(脚本激活网卡)或者
ifup eth0(指向/sbin/ifup的符号链接)。注:修改mac地址,用此好像无效,切记。

ifconfig eth0 down(关闭网卡)
/etc/sysconfig/netowrk-scripts/ifdown eth0(脚本关闭网卡)或者
ifdown eth0(指向/sbin/ifdown的符号链接)

netconfig
是文本窗口的形式设置IP的命令,修改好之后用
service network restart (让配置参数生效)

ifconfig eth0 -dynamic(手动设置获取dhcp ip地址)

5.修改MAC地址
ifconfig eth0 down
ifconfig eth0 hw ether 00:00:0c:12:34:56
/etc/rd.d/init.d/network(上面的修改可存储在此脚本中)
ifconfig eth0 up
#上面这种方法是在内核中修改,下次开机将还原
要永久有效在网卡配置文件中加入以下这一条:
MACADDR=00:00:0c:12:34:56
/etc/sysconfig/network-scripts/ifcfg-eth0

6.常用测试命令
ping -c 4 172.16.1.1
route (对内核的ip路由表进行操作,主要对己配置的接口的主机或网络设置静态路由,如通过ifconfig程序配)
route add -net 192.168.1.0 netmask 255.255.255.0 eth0 (添加一条到192.168.1.0网络的路由条目)
route del -net 192.168.1.0 netmask 255.255.255.0 (删除路由条目)
route -C 查看缓冲表
route -n 查看本地路由表
traceroute 路由跟踪
注:netconfig、ifconfig、route三者结合使用,不用重启系统及服务。

7.创建ADSL连接
rpm -qa |grep rp-pppoe
rpm -ivh rp-pppoe* (将光盘)
route del default(删除默认路由)
adsl-setup (设置连接)
adsl-start (连接测试)
adsl-status (查看状态)