OpenStackでホストされている仮想Ubuntu 16.04システムの2つのインターフェイス間でパケットをルーティングしようとしています。インターネットで見つけた情報に基づいて、私は次のようにしました。
# Enable ip forwarding:
sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward = 1' >> net.ipv4.ip_forward = 1
sysctl -p /etc/sysctl.conf
# Update IP tables:
iptables -A FORWARD -i ens3 -o ens4 -j ACCEPT
iptables -A FORWARD -i ens4 -o ens3 -j ACCEPT
Linux ルータのインターフェイスとルーティングテーブルは次のようになります。
ens3: 192.168.217.6/24
ens4: 10.0.0.13/24
ip route
default via 10.0.0.1 dev ens4
10.0.0.0/26 dev ens4 proto kernel scope link src 10.0.0.13
169.254.169.254 via 10.0.0.1 dev ens4
192.168.217.0/24 dev ens3 proto kernel scope link src 192.168.217.6
LAN 10.0.0.0/24 にマシンがあり、LAN 192.168.217.0/24 にマシンがあります。どちらも私のLinuxルーターをデフォルトゲートウェイとして使用しますが、互いにpingすることはできません。ただし、LAN 10.0.0.0/24のコンピュータはインターネットにアクセスできます。
traceroute 1.1.1.1
10.0.0.1
...
1.1.1.1
ip route
default via 10.0.0.13 dev eth0
10.0.0.0/24 dev eth0 10.0.0.14
Traceouteが私のホストのデフォルトゲートウェイである10.0.0.13を使用していないため、これは奇妙です。
私は何が間違っていましたか?ありがとうございます。