首页 > 代码库 > linux常用网络配置
linux常用网络配置
网卡名称:
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
卸载网卡驱动:
modprobe -r e1000
装载网卡驱动:
modprobe e1000
网卡名定义在 /etc/udev/rules.d/70-persistent-net.rules 文件中,定义了网卡命名的详细方式,
这个文件是安装系统时自动生成的
可以在这个文件中,修改NAME选项,以更改网卡名,修改以后需要需改相应的配置文件,否则网卡无法启动,
编辑网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-网卡名
修改”DEVICE=“项
修改以后可以使用 service network restart 命令重启网络服务
如果修改配置文件后,自动生效了,那是因为有 NetworkManager服务在运行,但是这个服务的生效结果完全是靠运气,所以一般情况下,都是把这个服务给关闭。
可是使用 service NetworkManager status 命令查看服务状态
service NetworkManager stop 停止此服务
chkconfig NetworkManager off 下次系统启动时不启动此服务
网卡配置文件"/etc/sysconfig/network-scripts/ifcfg-eth0"各项所代表的意思:
网卡别名:
工作做经常遇到,在多个网络环境中来回切换,如果只有一个IP需要来回改动,所以就需要一个网卡绑定多个IP地址,这样就可以避免来回手动切换网络。
网卡别名:
首先,关闭NetworkManager服务
service NetworkManager stop
创建一个配置文件 ,文件名为网卡的文件名+“:num”如 :
网卡文件为:ifcfg-eth0 ,创建文件“ifcfg-eth0:1",冒号后跟的数字,可以随意指定。
示例:虚拟网卡实现一个网卡多个地址
#cd /etc/sysconfig/network-scripts #vim ifcfg-eth0 DEVICE="eth0" BOOTPROTO="dhcp" ONBOOT="yes" ~ #vim ifcfg-eth0:1 DEVICE="eth0:1" IPADDR=10.1.1.60 PREFIX=16 GATEWAY=10.1.1.254 DNS1=8.8.8.8 ONPARENT=yes
重启网络服务:
查看网卡信息:
使用网卡别名需要注意的是:
对虚拟主机有用
将多个IP地址绑定到一个NIC上,命名格式:
eth0:1
eth0:2
eth0:3
为每个设备别名生成独立的接口配置文件
1、关闭NetworkManager服务
2、配置文件命名格式ifcfg-ethX:xxx
3、必须使用静态联网
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes
注意:重启网络服务service network restart 生效
参考/usr/share/doc/initscripts-*/sysconfig.txt
网络接口配置-bonding
Bonding:就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。
Bonding的工作模式:
Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。Bonding配置
创建bonding设备的配置文件
#vim /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none BONDING_OPTS=“miimon=100 mode=0”
#vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no
miimon是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
查看bond0状态:/proc/net/bonding/bond
关于bonding的详细配置请参照:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
示例:
创建Mode 1 (active-backup)
首先确保NetworkManager 服务处于停止状态
# service NetworkManager stop
在/etc/sysconfig/network-scripts目录下创建bonding配置文件
# vim ifcfg-bond0 DEVICE=bond0 IPADDR=10.1.252.60 PREFIX=16 GATEWAY=10.1.0.1 DNS1=8.8.8.8 BONDING_OPTS="miimon=100 mode=1"
而后编辑第一块网卡的配置文件
# vim ifcfg-eth0 DEVICE=eth0 SLAVE=yes MASTER=bond0
编辑第二块网卡的配置文件:
# vim ifcfg-eth1 DEVICE=eth1 SLAVE=yes MASTER=bond0
重启网络服务:
# service network restart
成功执行ifconfig 命令可以看到两块网卡的MAC地址完全一样,及两个网卡共用一个MAC地址
查看/proc/net/bonding/bond0文件可以看到当前工作的网卡
测试:使用另一台机器,ping这个服务器,ping时手工切断eth0,由于设置的时间是100ms检测一次,所以100ms后eth1顶替eth0工作,中间交接时间丢失一个是数据包
再次查看/proc/net/bonding/bond0文件可以发现eth1处于活跃状态。
跨网络通信:
跨网络通信:路由
路由分类:
主机路由
网络路由
默认路由
路由管理命令:
查看:route -n
添加:route add
route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
例:
目标:192.168.1.3 网关:172.16.0.1
# route add -host 192.168.1.3 gw172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1
# route add -net 192.168.0.0 netmask 255.255.255.0 gw172.16.0.1 dev eth0 # route add -net 192.168.0.0/24 gw172.16.0.1 dev eth0
默认路由,网关:172.16.0.1
# route add -net 0.0.0.0 netmask 0.0.0.0 gw172.16.0.1 # route add default gw172.16.0.1
删除:route del
route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]
例:
目标:192.168.1.3 网关:172.16.0.1
# route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
# route del -net 192.168.0.0 netmask 255.255.255.0
示例:
在VMware中,使用两台主机当作路由设备,分别为R1,R2。另外需要两台客户机,实现跨网段访问。
R1:两个端口,分别为:
eth0:192.168.60.1/24
eth1:10.10.0.1/8
R2:两个端口,分别为:
eth0:172.30.0.1/24
eth1:10.10.0.2/8
客户机1:
192.168.60.60/24
客户机2:
172.30.0.60/16
如图所示,就可以实现客户机1与客户机二的相互访问,由于R1与R2需要互联,所以他们的某个端口需要在同一个网段中。
具体步骤如下:
设置R1:
首先关闭,NetworkManager服务
# service NetworkManager stop
打开路由转换:
将文件/proc/sys/net/ipv4/ip_forword文件改为1,处于开启状态
# echo 1 > /proc/sys/net/ipv4/ip_forword
设置R1端口eth0:
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 IPADDR=192.168.60.1 PREFIX=24
保存退出
设置R1端口eth1:
# vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 IPADDR=10.10.0.1 PREFIX=8
保存退出
重启网络服务:
# service network restart
添加路由表:
路由表相邻网段自动生成,只需要添加不相邻的网段,而设置网关需要设置为下一个路由器的临近接口。
# route add -net 172.30.0.0/16 gw 10.10.0.2 dev eth1
清空防火墙列表:
# iptables -F
R1详细信息:
设置R2:
步骤和设置R1移至,只是一些参数不同,
首先关闭,NetworkManager服务:
# service NetworkManager stop
打开路由转换:
将文件/proc/sys/net/ipv4/ip_forword文件改为1,处于开启状态
# echo 1 > /proc/sys/net/ipv4/ip_forword
设置R2端口eth0:
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 IPADDR=172.30.0.1 PREFIX=16
保存退出
设置R2端口eth1:
# vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 IPADDR=10.10.0.2 PREFIX=8
保存退出
重启网络服务:
# service network restart
添加路由表:
# route add -net 192.168.60.0/24 gw 10.10.0.1 dev eth1
清空防火墙列表:
# iptables -F
R2详细信息:
客户机1:
客户机2:
现在即可实现客户机1与客户机2之间的相互访问
由于,跨越了两个路由,所以ttl为64-2,为62。
本文出自 “I'm Groot” 博客,请务必保留此出处http://groot.blog.51cto.com/11448219/1846522
linux常用网络配置