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

其中可能出现问题:(默认路由的改变)

      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

      再查看路由表:

      [root@CallCenter-SIP ~]# netstat -r

      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

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

另一种方法可以通过iptables端口转发来实现

共享语句:192.168.1.0/24内网 221.235.206.51外网
iptables -A POSTROUTING -t nat -s 192.168.1.0/24  -o eth1 -j SNAT --to-source 221.235.206.51
 
echo 1 >/proc/sys/net/ipv4/ip_forward

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐