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 bondingoptions 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/networkrestart(脚本服务启动)
servicenetworkrestart(同上,是命令执行)
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/networkrestart(脚本启动)
servicenetworkrestart(命令启动)
4.IP配置方法及自动获取ip
ifconfigeth0192.168.0.10将采用默认子网掩码
ifconfigeth0192.168.0.10netmask255.255.255.252(手动定义子网掩码)
ifconfigeth0up(激活网卡)
/etc/sysconfig/network-scripts/ifupeth0(脚本激活网卡)或者
ifupeth0(指向/sbin/ifup的符号链接)。注:修改mac地址,用此好像无效,切记。
ifconfigeth0down(关闭网卡)
/etc/sysconfig/netowrk-scripts/ifdowneth0(脚本关闭网卡)或者
ifdowneth0(指向/sbin/ifdown的符号链接)
netconfig
是文本窗口的形式设置IP的命令,修改好之后用
servicenetworkrestart(让配置参数生效)
ifconfigeth0-dynamic(手动设置获取dhcpip地址)
5.修改MAC地址
ifconfigeth0down
ifconfigeth0hwether00:00:0c:12:34:56
/etc/rd.d/init.d/network(上面的修改可存储在此脚本中)
ifconfigeth0up
#上面这种方法是在内核中修改,下次开机将还原
要永久有效在网卡配置文件中加入以下这一条:
MACADDR=00:00:0c:12:34:56
/etc/sysconfig/network-scripts/ifcfg-eth0
6.常用测试命令
ping-c4172.16.1.1
route(对内核的ip路由表进行操作,主要对己配置的接口的主机或网络设置静态路由,如通过ifconfig程序配)
routeadd-net192.168.1.0netmask255.255.255.0eth0(添加一条到192.168.1.0网络的路由条目)
routedel-net192.168.1.0netmask255.255.255.0(删除路由条目)
route-C查看缓冲表
route-n查看本地路由表
traceroute路由跟踪
注:netconfig、ifconfig、route三者结合使用,不用重启系统及服务。
7.创建ADSL连接
rpm-qa|greprp-pppoe
rpm-ivhrp-pppoe*(将光盘)
routedeldefault(删除默认路由)
adsl-setup(设置连接)
adsl-start(连接测试)
adsl-status(查看状态)