一、環境:
三台直接相連的計算機主機如圖
PC1<------>PC2<------>PC3
其中PC2上有兩塊網卡eth0、eth1,分別與PC3、PC1相連
------代表網線
二、需求: 將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
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
命令:
#more /proc/sys/net/ipv4/ip_forward
如果顯示其值不為1而是0 輸入以下命令:
#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
五、Bug調試: 出錯的原因主要集中在PC2兩個地方
1.檢查PC2是否允許IP報文轉發(/proc/sys/net/ipv4/ip_forward的值是否為1)
2.路由設置是否正確(#route 回車查看)