
我嘗試在 ArchLinux 中新增一個新的橋接器。我跟著來自維基的說明但將網橋指派給真實介面後,我無法再從外部連接到其他 IP(例如 ping 8.8.8.8 這樣的 IP)。
我做了什麼:
sudo ip link add name br0 type bridge
# should be up anyway but just to follow the wiki page:
sudo ip link set enp5s0 up
sudo ip link set enp5s0 master br0
在執行最後一個命令後,我從 ping 中得到「目標主機無法存取」。
這是輸出ip addr
:
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: enp8s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 2c:fd:a1:59:70:78 brd ff:ff:ff:ff:ff:ff
3: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
link/ether 2c:fd:a1:5a:91:45 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.42/24 brd 192.168.178.255 scope global noprefixroute enp5s0
valid_lft forever preferred_lft forever
inet6 2a0c:d242:3503:2400:8a5e:e525:faea:791e/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 6025sec preferred_lft 2425sec
inet6 fe80::e5dd:e996:1b86:7dd/64 scope link
valid_lft forever preferred_lft forever
4: wlp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 4000
link/ether dc:ef:ca:f0:b2:5f brd ff:ff:ff:ff:ff:ff
5: wlp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether e0:4f:43:70:90:f8 brd ff:ff:ff:ff:ff:ff
6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 66:6c:16:c8:ef:88 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
7: br-7fc0362fd380: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:d6:b1:8b:a2 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-7fc0362fd380
valid_lft forever preferred_lft forever
12: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 8a:a1:41:27:82:4d brd ff:ff:ff:ff:ff:ff
這是輸出ip route
:
default via 192.168.178.1 dev enp5s0 proto dhcp src 192.168.178.42 metric 203
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-7fc0362fd380 proto kernel scope link src 172.18.0.1 linkdown
192.168.178.0/24 dev enp5s0 proto dhcp scope link src 192.168.178.42 metric 203
正如你所看到的,真正的介面是enp5s0
,並且還有 docker 正在運行,它有自己的網橋。我也有WIFI接口,但我沒有使用它。為了進行測試,我停止了dhcpcd
服務。當它運行時,它還br0
從我的路由器分配了一個 IP,並添加了正確的路由。
我也嘗試過使用 和 的方法bridge-utils
,netctl
但我也遇到了同樣的問題。
有什麼建議可以讓網橋在不失去網路連線的情況下運作嗎?
答案1
網橋也有連結狀態,需要設定為UP。
sudo ip link set br0 up
IP 和路由應在網橋上配置,而不是在乙太網路介面上配置。兩者都需要起來。