linux双网卡配置路由案例
一、环境:
三台直接相连的计算机主机如图
PC1<------>PC2<------>PC3
其中PC2上有两块网卡eth0、eth1,分别与PC3、PC1相连
------代表网线 互相连接pc机
二、需求:
将PC2配置为路由器模式,用来在PC1、PC3之间转发报文
三、方法:
将三台主机按照环境所要求用交叉线直接连网后,为三台主机分配网段并配置IP地址。
网段及IP地址分配如下:
主机名 所在网段 分配IP 网关
PC1: 192.168.2.0/24 192.168.2.2/24 192.168.2.1
PC2: 192.168.2.0/24 192.168.2.1/24 '与PC1相连的网卡的配置' eth1
192. 168.1.0/24 192. 168.1.1/24 '与PC3相连的网卡的配置' eth0
注意:PC2充当路由器;所以有配置了两个网卡
PC3: 192.168.1.0/24 192.168.1.2/24 192.168.1.1
按照上表所示分别将主机IP地址配置好,其中要注意的是,要想使PC2具有报文转发功能,在PC2
上检查/proc/sys/net/ipv4/ip_forward中的值是否为1
命令:
echo 1> /proc/sys/net/ipv4/ip_forward
打开IP转发功能
PC2中的其它配置:
为PC2添加路由,
命令:
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1
四、验证:
PC1:
ping网关
ping 192.168.2.1
ping 192.168.1.1
ping PC3:
ping 192.168.1.2
PC3:
ping网关
ping 192.168.1.1
ping 192.168.2.1
pint PC1
ping 192.168.2.2
五、出错调试:
出错的原因主要集中在PC2两个地方
1.检查PC2是否允许IP报文转发(/proc/sys/net/ipv4/ip_forward的值是否为1)
2.路由设置是否正确(#route -n 回车查看)
其中可能出现问题:(默认路由的改变)
linux主机原网卡eth0,IP地址为172.19.74.X/24,新增一块网卡eth1,配置另外一个网段的IP 10.219.17.X/24,发现各自到网关都通,但原172.19.74.X段的主机不能访问这台主机了。
查看路由表发现,默认路由走到新增的那块网卡eth1上去了:
要删掉这条默认的路由,再亲增一条默认路由走原来的eth0
命令:
route del default gw 10.219.17.1 dev eth1
route add default gw 172.19.74.1 dev eth0
再查看路由表:route -n
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.19.74.0 * 255.255.255.0 U 0 0 0 eth0
10.219.17.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 0 0 0 eth1
default 172.19.74.1 0.0.0.0 UG 0 0 0 eth0
然后,组网的一切设备都恢复正常了
下一篇: iOS 进度条、加载、安装动画的简单实现