当前位置: 首页 > 科技观察

Linux系统多网卡环境下的路由配置

时间:2023-03-12 22:03:17 科技观察

Linux下的路由配置命令1、添加主机路由routeadd-host192.168.1.11deveth0routeadd-host192.168.1.12gw192.168.1.12。.255.255.0eth0routeadd-net192.168.1.11netmask255.255.255.0gw192.168.1.1routeadd-net192.168.1.0/24eth0routeadd-net192.168.1.0/24gw192.168.1.11.add-default-add-gateway8.16.16默认网关192.168.1.18。routedel-host192.168.1.11deveth05。删除默认路由routedeldefaultgw192.168.1.1linux下配置永久路由的几种方法1、在/etc/rc.local中添加路由信息routeadd-net192.168.1.0/24deveth0#orrouteadd-net192.168.1.0netmask255.255.255。0gw192.168.1.12。在/etc/sysconfig/network3./etc/sysconfig/static-routesanynet192.168.1.0/24gw192中添加GATEWAY=[网关IP或网关网卡名称]。168.1.1#或anynet192.168.1.0netmask255.255.255.0gw192.168.1.14。启用IP转发1.暂时启用echo"1">/proc/sys/net/ipv4/ip_forward2。永久启用vim/etc/sysctl。conf修改net.ipv4.ip_forward=1实验:配置双网卡主机同时使用内网和外网。本次实验的背景是笔者在实践中遇到的一个问题。本实验尝试还原当时的网络环境。就当做笔记分享给遇到这个问题的同学吧。但是我现在没有硬件(T_T)...只能用VMwareWorkstation和eNSP来模拟实验环境。问题的背景如下图所示的拓扑图所示。如果去掉client节点,内部网络和外部网络就相互隔离了。但实际情况是,客户端节点既需要访问外网资源,也需要访问内网资源,客户端只能配置一条默认路由。如果在外网卡上配置了默认路由,客户端可以访问172.16.2.0/24网络的资源和外网的资源,但是其余的内网资源将无法访问;如果在内网卡上配置了默认路由,客户端虽然可以完全访问内网资源,但是无法访问外网资源。如何解决?实验环境VMwareWorkstationPro4台CentOS7.3虚拟机最小安装华为eNSP仿真器实验拓扑去掉客户端节点,内网和外网为隔离网络。外网为10.0.0.0/16,代表运营商接入网络;internalnetwork为172.16.0.0/16,代表内部网络(这部分为了安全不允许直接上网)。其中:client为双网卡主机,两张网卡的网段分别为10.0.0.0/16和172.16.2.0/24;server2为172.16.2.0/24网段的服务器;server3为172.16.3.0/24网段的服务器;server4为172.16.4.0/24网段的服务器。如何实施网络规划内网路由器?VMnet2、VMnet3和VMnet4都处于host-only模式。一般情况下,只有网络中的计算机才能相互通信。如何实现三个网络之间的通信?答案是在华为eNSP模拟器中使用Cloud。eNSP中的路由器可以通过Cloud设备连接VMware虚拟机的网卡。在内网环境配置eNSP路由器system-view[huawei]intg0/0/0[Huawei-GigabitEthernet0/0/0]ipaddress172.16.2.254255.255.255.0[Huawei-GigabitEthernet0/0/0]quit[huawei]]intg0/0/1[华为千兆以太网0/0/1]ipaddress172.16.3.254255.255.255.0[华为千兆以太网0/0/1]退出[华为]intg0/0/2[华为千兆以太网0/0/2]ipaddress172.16.4.254255.255.255.0[Huawei-GigabitEthernet0/0/2]quit[huawei]修改虚拟机的IP地址在服务器上搭建HTTP服务以server2为例:使用Python搭建一个简单的HTTP服务cd~echo"server2">index.htmlpython-mSimpleHTTPServer8080控制测试,在客户端访问外网pingwww.baidu.com-c4,访问server2ping172.16.2.11-c4在客户端访问server3ping172.16.3.11-c4,访问客户端上的server4ping172。16.4.11-c4在控制测试中可以看到,当客户端在外网卡上配置默认网关时,双网卡客户端可以正常访问外网的172.16.2.0/24部分和内部网络,而172.16.3.0/24和172.16.4.0/24无法访问。为什么客户端可以访问172.16.2.0/24网络,但不能访问172.16.0.0/16网络的其余部分?由于客户端位于172.16.2.0/24网络,在网络内部通信,数据包不需要发送到其他网络。当然,默认网关是行不通的。当客户端与172.16.0.0/16的其他网络通信时,客户端的路由表中并没有记录到目的地址的路径,所以客户端只能傻傻的将数据包发往默认网关。从此,数据包与真正的目的地址“截然相反”。当然ping的结果是网络不通。路由配置在客户端查看路由表在客户端添加路由routeadd-net172.16.0.0/16gw172.16.2.254永久配置在/etc/rc.localrouteadd-net172.16.0.0/添加路由信息16gw172.16.2.254查看路由表实验结果查看连通性pingwww.baidu.com-c4ping172.16.2.11-c4ping172.16.3.11-c4ping172.16.4.11-c4访问内外网资源curlhttp:///www.baidu.com/curlhttp://172.16.2.11:8080/index.htmlcurlhttp://172.16.3.11:8080/index.htmlcurlhttp://172.16.4.11:8080/index.html解决方法很简单,只需一个命令。但是,这个命令背后的原理、概念和理论需要我们深入研究!