web-dev-qa-db-ja.com

ネットワークインターフェイス間でトラフィックを渡すようにルーティングテーブルを構成する方法

Ubuntu 16.04サーバーで2つのネットワークインターフェース間でトラフィックをルーティングするようにしようとしています。この質問はフォーラムで何百回も聞かれたことがあることは知っていますが、読んだことで何も助けになりませんでした。

/etc/network/interfacesに次の設定があります

# The loopback network interface
auto lo enp2s0
iface lo inet loopback

# The external interface (router)
iface enp2s0 inet static
    address 192.168.0.20
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1 

# This internal interface
auto enp3s0
iface enp3s0 inet static
    address 192.168.1.254
    netmask 255.255.255.0
    network 192.168.1.0
#   gateway 192.168.1.254

net.ipv4.ip_forward = 1を設定しました

インターフェイス間でトラフィックを渡すようにUFWを設定しました

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
22/tcp                     ALLOW       Anywhere                  
22/udp                     ALLOW       Anywhere                  
10000                      ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             
22/tcp (v6)                ALLOW       Anywhere (v6)             
22/udp (v6)                ALLOW       Anywhere (v6)             
10000 (v6)                 ALLOW       Anywhere (v6)             

Anywhere on enp3s0         ALLOW FWD   Anywhere on enp2s0        
Anywhere on enp2s0         ALLOW FWD   Anywhere on enp3s0        
Anywhere (v6) on enp3s0    ALLOW FWD   Anywhere (v6) on enp2s0   
Anywhere (v6) on enp2s0    ALLOW FWD   Anywhere (v6) on enp3s0   

インターフェイス間のトラフィックをルーティングするようにルーティングテーブルを変更しましたが、現在は成功しています。

ルーティングテーブルがあります。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 enp2s0
192.168.0.0     *               255.255.255.0   U     0      0        0 enp2s0
192.168.1.0     192.168.0.20    255.255.255.0   UG    0      0        0 enp2s0
192.168.1.0     *               255.255.255.0   U     0      0        0 enp3s0

2つのインターフェイス間でpingを実行すると、次の応答が返されます。

:~$ ping -I enp3s0 192.168.0.20
PING 192.168.0.20 (192.168.0.20) from 192.168.1.254 enp3s0: 56(84) bytes of data.
From 192.168.1.254 icmp_seq=1 Destination Host Unreachable
From 192.168.1.254 icmp_seq=2 Destination Host Unreachable
From 192.168.1.254 icmp_seq=3 Destination Host Unreachable

:~$ ping -I enp2s0 192.168.1.254
PING 192.168.1.254 (192.168.1.254) from 192.168.0.20 enp2s0: 56(84) bytes of data.
From 192.168.0.20 icmp_seq=1 Destination Host Unreachable
From 192.168.0.20 icmp_seq=2 Destination Host Unreachable
From 192.168.0.20 icmp_seq=3 Destination Host Unreachable

誰かがこの問題を解決するのを手伝ってもらえますか。

2

すべてがよさそうだ。 192.168 .。20はenp2s0インターフェイスにあり、192.168 .1。254はenp3s0インターフェイスにあります。しかし、コンピュータにOUT enp3s0に移動して192.168 .-。20に到達するように指示していますが、192.168に到達できないため、想定どおり失敗します。 enp3s0の.0.x。

LAN上の別のマシンからpingを試行する必要があります。すなわち、内部192.168 .1。0ネットワークにゲートウェイ192.168 .1。254を通過するようにボックスを設定し、192.168 .にpingを試行します。 .20

更新:ああ、このルートはそれを削除しても意味がありません:

192.168.1.0     192.168.0.20    255.255.255.0   UG    0      0        0 enp2s0
0
meccooll