サブネット間トラフィック VirtualBox

サブネット間トラフィック VirtualBox

VirtualBoxで実際のネットワークのプロトタイプを作成しようとしています。 3つのゲストシステムがあります。

  1. 3つのNICを備えたDebianベースのルーター:
    • enp0s3は優れているようです。 (ブリッジング)
    • enp0s8 LAN1(内部ネットワーク1のゲートウェイ)
    • enp0s9 LAN2(内部ネットワーク2のゲートウェイ)
  2. LAN1のWinXPワークステーション。
  3. LAN2のWinXPワークステーション。
/etc/sysctl.confから:

net.ipv4.ip_forward=1

iptablesは出力を保存します。

# Generated by iptables-save v1.6.0 on Thu Mar 21 01:18:29 2019
*filter
:INPUT DROP [31:8959]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp0s8 -j ACCEPT
-A INPUT -i enp0s9 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 1 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 2 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i enp0s3 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
-A FORWARD -i enp0s9 -o enp0s3 -j ACCEPT
-A FORWARD -i enp0s3 -o enp0s8 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i enp0s3 -o enp0s9 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 10.10.10.0/24 -d 10.10.11.0/24 -i enp0s8 -o enp0s9 -j ACCEPT
-A FORWARD -s 10.10.11.0/24 -d 10.10.10.0/24 -i enp0s9 -o enp0s8 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o enp0s8 -j ACCEPT
-A OUTPUT -o enp0s9 -j ACCEPT
-A OUTPUT -o enp0s3 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
COMMIT
# Completed on Thu Mar 21 01:18:29 2019
# Generated by iptables-save v1.6.0 on Thu Mar 21 01:18:29 2019
*nat
:PREROUTING ACCEPT [77:16001]
:INPUT ACCEPT [2:628]
:OUTPUT ACCEPT [2:143]
:POSTROUTING ACCEPT [2:143]
-A POSTROUTING -s 10.10.10.0/24 -o enp0s3 -j MASQUERADE
-A POSTROUTING -s 10.10.11.0/24 -o enp0s3 -j MASQUERADE
COMMIT
# Completed on Thu Mar 21 01:18:29 2019
# Generated by iptables-save v1.6.0 on Thu Mar 21 01:18:29 2019
*mangle
:PREROUTING ACCEPT [224:28224]
:INPUT ACCEPT [180:21810]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [144:17877]
:POSTROUTING ACCEPT [144:17877]
COMMIT
# Completed on Thu Mar 21 01:18:29 2019

DNSmasqはDHCPサーバーとして機能します
。質問は、LAN1のワークステーションがLAN2のワークステーションを表示できるようにするにはどうすればよいですか?どちらもインターネットを使用でき、Workstation 1(10.100)は11.1ゲートウェイにpingを送信できますが、11.100システムに接続できず、その逆も同様です。 iptablesには統計に失われたパケットがないため、問題になる可能性はありません。興味深いことに、tcpdumpはping要求ごとに2つのパケットを表示し、時間差は0.0000倍です。
PS 可能であれば、クライアントに固定パスを追加しないことをお勧めします。

ベストアンサー1

iptablesの設定に問題はありません。これにより、ワークステーションで実行されているファイアウォールがトラフィックフローをブロックしていると考えました。

次の点検を行ってください。

  • ワークステーションで10.10.10.100以下を実行します。ping -t 10.10.11.100
  • ルータで次のコマンドを実行して、ICMP パケットが出力インターフェイス10.10.10.100に到着していることを確認します。tcpdump -i enp0s9 icmp and host 10.10.11.100

ワークステーションから10.10.11.100インターネットにアクセスできるので、以下をインストールすることをお勧めします。Wireshark バージョン 1.10上(Windows XPをサポートする最後のブランチ)パケットが実際に仮想アダプタに到達していることを確認してください。

おすすめ記事