Networking

iproute2、兩個網關和兩個網路介面的路由問題

  • September 11, 2017

我正在嘗試設置具有兩個介面的第 3 層 iptables 防火牆。

我的防火牆有兩個物理介面:eno0,連接到我的 ISP 的網關,和 eno1,連接到我的本地網路網關。

網路設置描述如下:

ISP gateway: aaa.aaa.127.17
           |
           |
           | subnet: aaa.aaa.127.16/30
           |
           |
           | eno0: aaa.aaa.127.18
-----------------------------
|                           |
|       my firewall         |
|                           |
-----------------------------
           | eno1: 172.20.4.1
           |
           |
           | subnet: 172.20.4.0/30
           |
           |
           | 172.20.4.2
-----------------------------
|                           |
|     my local gateway      |
|                           |
-----------------------------
            | bbb.bbb.137.1
            |
            |
            | subnet: bbb.bbb.137.0/24
            |
            | 
Laptop: bbb.bbb.137.20

(aaa.aaa.127.16/30 和 bbb.bbb.137.1/24 是公共 IP 範圍)

我正在嘗試(不成功)從我的筆記型電腦訪問網際網路。目前,我在 iptables 中沒有過濾規則。所以問題出在路由配置上。

1 rt2我在末尾附加/etc/iproute2/rt_tables,這是我的 /etc/network/interfaces 的相關部分:

auto eno0
iface eno0 inet static
   address aaa.aaa.127.18
   netmask 255.255.255.252
   gateway aaa.aaa.127.17

auto eno1
iface eno1 inet static
   address 172.20.4.1
   netmask 255.255.255.252
   post-up ip route add 172.20.4.0/30 dev eno1 src 172.20.4.1 table rt2
   post-up ip route add bbb.bbb.137.0/24 dev eno1 src 172.20.4.1 table rt2
   post-up ip route add default via 172.20.4.2 dev eno1 table rt2
   post-up ip rule add from 172.20.4.1/32 table rt2
   post-up ip rule add to 172.20.4.1/32 table rt2

在我的本地網關上,我有一個將所有流量重定向到 172.20.4.1 的靜態路由(如果目標 IP 不在 ARP 表中)。

從防火牆,我可以 ping:

  • 我的 ISP 網關 (aaa.aaa.127.17)
  • Google (8.8.8.8)
  • 我的本地網關(172.20.4.2)

但是,問題是我無法從防火牆 ping 我的筆記型電腦 (bbb.bbb.137.20)。

從筆記型電腦上,我可以 ping 我的本地網關,但不能 ping 我的防火牆。從我的本地網關,我可以 ping 防火牆,但不能 ping Google。

所以我的防火牆似乎不知道如何將流量路由到 bbb.bbb.137.0/24。我錯過了什麼?

任何幫助是極大的讚賞。

我最終想通了。我改變了一部分/etc/network/interfaces並且它起作用了:

auto eno0
iface eno0 inet static
   address aaa.aaa.127.18
   netmask 255.255.255.252
   gateway aaa.aaa.127.17

auto eno1
iface eno1 inet static
   address 172.20.4.1
   netmask 255.255.255.252
   post-up ip route add bbb.bbb.137.0/24 via 172.20.4.2
   post-up ip route add 10.0.0.0/8 via 172.20.4.2
   post-up ip route add 192.168.0.0/16 via 172.20.4.2
   post-up ip route add 172.16.0.0/12 via 172.20.4.2

此外,無需更改/etc/iproute2/rt_tables

引用自:https://serverfault.com/questions/872818