正文

route add -host 192.168.1.11 dev eth0
route add -host 192.168.1.12 gw 192.168.1.1

  1. 添加网络路由

route add -net 192.168.1.11 netmask 255.255.255.0 eth0
route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1
route add -net 192.168.1.0/24 eth0
route add -net 192.168.1.0/24 gw 192.168.1.1

  1. 添加默认网关

route add default gw 192.168.1.1

  1. 删除路由

route del -host 192.168.1.11 dev eth0

  1. 删除默认路由

route del default gw 192.168.1.1

Linux下配置永久路由的几种方式

  1. 在/etc/rc.local里添加路由信息

route add -net 192.168.1.0/24 dev eth0

或者

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

  1. 在/etc/sysconfig/network里追加

GATEWAY=[网关IP或者网关网卡名称]

  1. /etc/sysconfig/static-routes

any net 192.168.1.0/24 gw 192.168.1.1

或者

any net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

4. 开启IP转发
1.临时开启

echo “1” > /proc/sys/net/ipv4/ip_forward

2.永久开启

vim /etc/sysctl.conf

实验:配置双网卡主机同时使用内网和外网

本实验的背景是笔者在实践中遇到过的一个问题,本实验尽量还原当时的网络环境。仅当做一份笔记,同时分享给遇到此问题的同学。
奈何我现在没有硬件呀(T_T)…只能拿VMware Workstation和eNSP来模拟实验环境了。

问题背景

如下图拓扑所示,如果去掉client节点,内网和外网就是相互隔离的网络。

但是实际情况是,client节点既需要访问外网资源,又需要访问内网资源,而client只能配置一条默认路由。如果将默认路由配置在外网网卡,client可以访问172.16.2.0/24网络的资源和外网的资源,但是其余内网资源将无法访问;如果将默认路由配置在内网网卡,client虽然可以完全访问内网资源,但是却不能访问外网资源。
怎么解决呢?

实验环境

  • VMware Workstation Pro
  • 4台最小化安装的CentOS 7.3虚拟机
    华为eNSP模拟器

实验拓扑

centos 指定双网卡外网出口 centos双网卡配置路由_linux


去掉client节点,内网和外网是隔离的网络。

外网网络为10.0.0.0/16,代表运营商的接入网;

内网网络为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网段的服务器。

网络规划

IP分配

centos 指定双网卡外网出口 centos双网卡配置路由_linux_02


虚机网卡类型

centos 指定双网卡外网出口 centos双网卡配置路由_linux_03


内网路由器如何实现呢?

VMnet2、VMnet3、VMnet4均为仅主机模式,那么常规情况下,只有其网络内的各计算机之间才可以通信,要怎样才能实现三个网络间的通信呢?

答案是使用华为eNSP模拟器中的Cloud。使用Cloud设备可以将eNSP中的路由器和VMware虚拟机的网卡连接起来。

centos 指定双网卡外网出口 centos双网卡配置路由_centos 指定双网卡外网出口_04

配置内网环境

配置eNSP的路由器

centos 指定双网卡外网出口 centos双网卡配置路由_运维_05

system-view
 [huawei]int g0/0/0
 [Huawei-GigabitEthernet0/0/0]ip address 172.16.2.254 255.255.255.0
 [Huawei-GigabitEthernet0/0/0]quit
 [huawei]int g0/0/1
 [Huawei-GigabitEthernet0/0/1]ip address 172.16.3.254 255.255.255.0
 [Huawei-GigabitEthernet0/0/1]quit
 [huawei]int g0/0/2
 [Huawei-GigabitEthernet0/0/2]ip address 172.16.4.254 255.255.255.0
 [Huawei-GigabitEthernet0/0/2]quit
 [huawei]

修改虚机的IP地址

client

centos 指定双网卡外网出口 centos双网卡配置路由_linux_06


server2

centos 指定双网卡外网出口 centos双网卡配置路由_服务器_07


server3

centos 指定双网卡外网出口 centos双网卡配置路由_服务器_08


server4

centos 指定双网卡外网出口 centos双网卡配置路由_外网_09

在server上搭建HTTP服务

以server2为例:
使用Python创建一个简单的HTTP服务

cd ~
echo “server2” > index.html
python -m SimpleHTTPServer 8080

centos 指定双网卡外网出口 centos双网卡配置路由_centos 指定双网卡外网出口_10

对照试验

在client上访问外网

ping www.baidu.com -c 4

centos 指定双网卡外网出口 centos双网卡配置路由_外网_11


在client上访问server2

ping 172.16.2.11 -c 4

centos 指定双网卡外网出口 centos双网卡配置路由_外网_12


在client上访问server3