最初、VirtualBoxを使用して指定した設定を確認します。
- アダプタ1 = enp0s3
- アダプタ2 = enp0s8
- アダプタ3 = enp0s9
- アダプタ4 = enp0s10
この設定を使用して、次の画像を取得しました。
第二、各VMに対して私が作成した設定を見てください。
現在の構成スイッチ0(UbuntuServer 16.04)仮想マシンは次のとおりです。
/etc/sysctl.conf: IPv4 転送を有効にする
net.ipv4.ip_forward=1
/etc/ネットワーク/インターフェース: ホストへのインターフェースおよび静的 SSH 接続を開始するためにのみ使用されます。
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet manual
auto enp0s9
iface enp0s9 inet manual
auto enp0s10
iface enp0s10 inet manual
auto enp0s8
iface enp0s8 inet static
address 10.0.0.2
network 10.0.0.0
broadcast 10.0.0.255
netmask 255.255.255.0
/etc/rc.local:ブリッジインターフェイスを作成し、スレーブインターフェイスを割り当て、ブリッジインターフェイスMACとIPアドレスを設定します。ブリッジングに使用されるMACアドレスは、ルータ(enp0s3)に接続されているデバイスです。
#!/bin/sh -e
BRIDGE_IF=br0
UP_IF=enp0s3
DOWN_IF0=enp0s9
DOWN_IF1=enp0s10
ip link add name $BRIDGE_IF type bridge
ip link set dev $BRIDGE_IF up
ip link set dev $UP_IF master $BRIDGE_IF
ip link set dev $UP_IF up
ip link set dev $DOWN_IF0 master $BRIDGE_IF
ip link set dev $DOWN_IF0 up
ip link set dev $DOWN_IF1 master $BRIDGE_IF
ip link set dev $DOWN_IF1 up
UP_MAC=$( cat /sys/class/net/$UP_IF/address )
ip link set dev $BRIDGE_IF address $UP_MAC
ip link set $BRIDGE_IF arp on
ip link set $UP_IF arp on
ip link set $DOWN_IF0 arp on
ip link set $DOWN_IF1 arp on
ip address add 192.168.100.30/24 dev $BRIDGE_IF
exit 0
現在の構成仮想サーバー0(UbuntuServer 16.04)仮想マシンは次のとおりです。
/etc/ネットワーク/インターフェース:ホストへのDHCPおよび静的SSH接続用のインターフェイスを設定します。
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 10.0.0.3
network 10.0.0.0
broadcast 10.0.0.255
netmask 255.255.255.0
上記のすべての構成を使用して得られた結果は次のとおりです。
- スイッチ0ルータにpingを実行できますが、実行できません仮想サーバー0
- 仮想サーバー0DHCP IPを取得できますが、どこでもpingできません
br0 MACアドレスを変更した場合スイッチ0enp0s9のMACアドレス(接続に使用)スイッチ0到着仮想サーバー0)そしてこれは私が得たものです:
- スイッチ0そして仮想サーバー0お互いにPING可能
- スイッチ0ルーターをpingできません。
- 仮想サーバー0DHCP IPを取得できますが、ルーターをPINGできません。
なぜこれが起こるのですか?どんな助けでも大変感謝します。ありがとうございます。