何らかの理由で、tcpdumpはtun0
インターフェイスではパケットを見ることができますが、インターフェイスでは見ることができませんeth0
。
直接接続できないコンピュータからGithubにアクセスするために使用するOpenVPNサーバーがあります。 OpenVPNはgithubパスをクライアントにプッシュするように設定されています。
port 1194
proto tcp
dev tun
ca ca.crt
cert cloud.crt
key cloud.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# github.com
push "route 192.30.253.112 255.255.255.255"
push "route 192.30.253.113 255.255.255.255"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
iptables経由でサーバーにNATを追加しました。
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
(代替バージョンも試しましたが、iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 82.196.2.80
結果は同じです)
tun0
インターフェイスにパケットが表示されます。
$ tcpdump -n -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
06:37:47.936890 IP 10.8.0.6.58816 > 192.30.253.112.80: Flags [S], seq 1523900495, win 29200, options [mss 1366,sackOK,TS val 3602297008 ecr 0,nop,wscale 7], length 0
06:37:48.960336 IP 10.8.0.6.58816 > 192.30.253.112.80: Flags [S], seq 1523900495, win 29200, options [mss 1366,sackOK,TS val 3602298033 ecr 0,nop,wscale 7], length 0
しかし、パケットはありませんeth0
。
$ tcpdump -n -i eth0 | grep 192.30.253.112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
sysctl
レポート配信が有効になっています。
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
私はUbuntu 16.04.3、Linux 4.4.0-112-genericを使用しています。
何が問題なのでしょうか?この問題をデバッグするにはどこにありますか?