Linux iptablesの配信

Linux iptablesの配信

私は3台のマシンを持っています:

  • LANカードがあるサーバー1台、インターネットに直接接続する必要はありません
  • インターネット用のWiFi接続と1つのLANポートを持つ1つのWindowsホスト
  • Windowsホストには1つのLinux仮想マシンがあります。

[インターネットレスサーバー]---[Linux_VM]---[Windows_host]

  • server_none_internet:eth0 -> 192.168.1.1
  • Linux_VM_WiFi_NAT: wlan0 -> 10.0.2.15
  • Linux_VM_LAN_bridge_card: eth0 -> 192.168.1.254
  • Windows_LAN: 192.168.1.2
  • Windows_WiFi: 172.16.1.1/10.0.2.1(NAT Linux ~ 10.0.2.15)

[Server_without_Internet]にアクセスするためにiptables転送を使用したいと思います。

路線:

  • Server_without_internet, Linux_VM_LAN_bridge_card, Windows_LAN: 192.168.1.0/24 (192.168.1.254経由)
  • Linux_VM_WiFi_NAT: 0.0.0.0~10.0.2.1(172.16.1.1)

IPv4転送を有効にします。

sysctl -w net.ipv4.ip_forward=1

次のようにLinux_VMにiptablesを設定しました。

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE 
iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0-o wlan0 -j ACCEPT

フラット:

  • ピングトップ:192.168.1.1〜1.2
  • ping成功:192.168.1.1〜1.254
  • ピングトップ:192.168.1.2〜1.1
  • ping成功:192.168.1.2〜1.254
  • ピングトップ:192.168.1.254から1.1
  • ピングトップ:192.168.1.254から1.2
  • ピングトップ:10.0.2.15〜8.8.8.8
  • ping成功:172.16.1.1 / 10.0.2.1〜8.8.8.8
  • ガオフ:192.168.1.1〜8.8.8.8

[Linux_VM]経由で[Server_without_server]からインターネットにアクセスしようとする通知

Linux_VMでtcpdumpを確認するとき:

  • tcpdump -i eth0 -vvnn: 8.8.8.8 のエコー要求が表示されます。
  • tcpdump -i wlan0 -vvnn: 8.8.8.8 のエコー要求が表示されますが、エコー応答はありません。

したがって、iptablesを使用してwlan0に渡すeth0は機能しますが、何も返しません。

誰にもアイデアがありますか?

ありがとう

編集する

conntrack iptables cliとIPパブリックicmpテストタスクを追加しました。

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 

これでDNSリゾルバーは機能しません。 server/etc/resolv.confにはGoogle DNSとOpenDNS DNSがあります。

アイデア?

ありがとう

関連情報