私の目標問題は、インターネットと通信できる複数のnspawnコンテナを持つようにマシンを設定することです。ホストはインターネットと通信できる必要があり、ホストからIP経由でコンテナに接続できる必要があります。コンテナはWebサーバーを実行します。
質問問題は構成は大丈夫だと思いますが、インターネットからコンピュータにpingすることができず、コンピュータにログインしてもインターネット通信ができないということです。
質問:インターネットと通信するようにどのように設定しますか?
これはOracle Cloudで実行される仮想マシンで、次のようになります。
パブリックIPv4アドレス:192.9.139.126プライベートIPv4アドレス:10.0.0.214
netplan構成からsystemdネットワークファイルを使用する構成に変更しようとしています。
次のネットワーク計画構成は正常に機能します。
ubuntu@instance-20240106-1821:~$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
ens3:
dhcp4: true
match:
macaddress: 02:00:17:00:2a:9c
set-name: ens3
ubuntu@instance-20240106-1821:~$
ただし、上記の機能を無効にしてシステムネットワーク構成で実装したため、インターネットと通信できません。
私のネットワーク構成は次のとおりです。
ubuntu@instance-20240106-1821:~$ cat /etc/systemd/network/br0.network
[Match]
Name=br0
[Network]
DHCP=no
Address=10.0.0.214/24
Gateway=10.0.0.1
ubuntu@instance-20240106-1821:~$ cat /etc/systemd/network/br0.netdev
[NetDev]
Name=br0
Kind=bridge
[Bridge]
MACAddress=02:00:17:00:2a:9c
ubuntu@instance-20240106-1821:~$ cat /etc/systemd/network/ens3.network
[Match]
Name=ens3
[Network]
Bridge=br0
ubuntu@instance-20240106-1821:~$ sudo networkctl status ens3
● 2: ens3
Link File: /usr/lib/systemd/network/99-default.link
Network File: /etc/systemd/network/ens3.network
Type: ether
State: enslaved (configured)
Online state: online
Alternative Names: enp0s3
Path: pci-0000:00:03.0
Driver: virtio_net
Vendor: Red Hat, Inc.
Model: Virtio network device
HW Address: 02:00:17:00:2a:9c
MTU: 9000 (min: 68, max: 65535)
QDisc: pfifo_fast
Master: br0
IPv6 Address Generation Mode: none
Queue Length (Tx/Rx): 1/1
Auto negotiation: no
Speed: n/a
Activation Policy: up
Required For Online: yes
Jan 06 08:59:08 instance-20240106-1821 systemd-networkd[526]: ens3: Link UP
Jan 06 08:59:08 instance-20240106-1821 systemd-networkd[526]: ens3: Gained carrier
Jan 06 08:59:08 instance-20240106-1821 systemd-networkd[526]: ens3: Gained IPv6LL
ubuntu@instance-20240106-1821:~$ sudo networkctl status br0
● 3: br0
Link File: /usr/lib/systemd/network/99-default.link
Network File: /etc/systemd/network/br0.network
Type: bridge
State: routable (configured)
Online state: online
Driver: bridge
HW Address: 5e:37:61:dc:ab:83
MTU: 9000 (min: 68, max: 65535)
QDisc: noqueue
IPv6 Address Generation Mode: eui64
Forward Delay: 15s
Hello Time: 2s
Max Age: 20s
Ageing Time: 5min
Priority: 32768
STP: no
Multicast IGMP Version: 2
Cost: 2000
Port State: disabled
Queue Length (Tx/Rx): 1/1
Auto negotiation: no
Speed: n/a
Address: 10.0.0.214
fe80::5c37:61ff:fedc:ab83
Gateway: 10.0.0.1
Activation Policy: up
Required For Online: yes
DHCP6 Client DUID: DUID-EN/Vendor:0000ab110e53ac1395c0e1110000
Jan 06 08:59:08 instance-20240106-1821 systemd-networkd[526]: br0: netdev ready
Jan 06 08:59:08 instance-20240106-1821 systemd-networkd[526]: br0: Link UP
Jan 06 08:59:09 instance-20240106-1821 systemd-networkd[526]: br0: Gained carrier
Jan 06 08:59:11 instance-20240106-1821 systemd-networkd[526]: br0: Gained IPv6LL
ubuntu@instance-20240106-1821:~$
IPワン
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 02:00:17:00:2a:9c brd ff:ff:ff:ff:ff:ff
altname enp0s3
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
link/ether 5e:37:61:dc:ab:83 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.214/24 brd 10.0.0.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::5c37:61ff:fedc:ab83/64 scope link
valid_lft forever preferred_lft forever
ubuntu@instance-20240106-1821:~$
答え1
[NetDev]
Name=br0
Kind=bridge
[Bridge]
MACAddress=02:00:17:00:2a:9c
MACAddress=
その[NetDev]
部分だけが記録され、ファイル[Bridge]
の一部は記録されません*.netdev
。または、[Link]
ファイルにセクションを追加してbr0.network
内部に配置することもできます。
現在は無視されているように見え、ブリッジが生成されたMACアドレスを取得しています。
● 3: br0
Link File: /usr/lib/systemd/network/99-default.link
Network File: /etc/systemd/network/br0.network
Type: bridge
State: routable (configured)
Online state: online
Driver: bridge
HW Address: 5e:37:61:dc:ab:83 <---!!!
したがって、ファイルを次のように変更する必要がありますbr0.netdev
。
[NetDev]
Name=br0
Kind=bridge
MACAddress=02:00:17:00:2a:9c
[Bridge]
または、ファイルMacAddress=02:00:17:00:2a:9c
からその行を完全に削除し、ファイルの次のセクションbr0.netdev
に配置することもできます。br0.network
[Link]
[Match]
Name=br0
[Link]
MACAddress=02:00:17:00:2a:9c
[Network]
DHCP=no
Address=10.0.0.214/24
Gateway=10.0.0.1
答え2
最後に、問題はDHCP = yesでなければならないということです。
br0.netを次のように変更します。
[Match]
Name=br0
[Network]
DHCP=yes
#Address=10.0.0.214/24
#Gateway=10.0.0.1
DNS=8.8.8.8
[Link]
MACAddress=02:00:17:00:4a:bc
私は持っています:
IPワン
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 02:00:17:00:4a:bc brd ff:ff:ff:ff:ff:ff
altname enp0s3
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
link/ether 02:00:17:00:4a:bc brd ff:ff:ff:ff:ff:ff
inet 10.0.0.209/24 metric 1024 brd 10.0.0.255 scope global dynamic br0
valid_lft 86351sec preferred_lft 86351sec
inet6 fe80::17ff:fe00:4abc/64 scope link
valid_lft forever preferred_lft forever
ねえ、さあ:
ubuntu@instance-20240106-2021:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=61 time=1.72 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=61 time=1.75 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=61 time=1.74 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=61 time=1.78 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=61 time=1.75 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 1.718/1.746/1.775/0.018 ms
ubuntu@instance-20240106-2021:~$