当前位置 主页 > 服务器问题 > Linux/apache问题 >

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

    栏目:Linux/apache问题 时间:2019-11-20 08:25

    Linux下路由配置命令

    1. 添加主机路由

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

    2. 添加网络路由

    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

    3. 添加默认网关

    route add default gw 192.168.1.1

    4. 删除路由

    route del -host 192.168.1.11 dev eth0

    5. 删除默认路由

    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

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

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

    3. /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

    修改net.ipv4.ip_forward=1

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

    本实验的背景是笔者在实践中遇到过的一个问题,本实验尽量还原当时的网络环境。仅当做一份笔记,同时分享给遇到此问题的同学。

    奈何我现在没有硬件呀(T_T)...只能拿VMware Workstation和eNSP来模拟实验环境了。

    问题背景

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

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

    实验环境

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

    实验拓扑

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

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

    内网网络为172.16.0.0/16,代表内网部分(该部分为了安全,不允许对互联网的直接访问)。

    其中:

    client为双网卡的主机,两网卡网段分别为10.0.0.0/16172.16.2.0/24server2172.16.2.0/24网段的服务器; server3172.16.3.0/24网段的服务器; server4172.16.4.0/24网段的服务器。

    网络规划