欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux双网卡配置路由案例

程序员文章站 2024-02-14 16:35:34
...

一、环境: 
  三台直接相连的计算机主机如图 
  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

然后,组网的一切设备都恢复正常了