如题,系统 centos,在配置桥接网卡时出现问题。想实现的需求是主机与虚拟机双向互通,同时都能访问互联网,单向的 nat 不行,最后还是桥接网卡了。但是设置桥接网卡之后上不去网,很神秘,请各位帮忙。
我的具体配置步骤是这样:
本机连接在一个 TPLINK 无线路由下
路由名 TP-LINK_5G
本机地址 192.168.0.108
路由地址 192.168.0.1
本地配置文件显示该无线网卡使用 DHCP 连接路由
/etc/sysconfig/network-scripts
vim ifcfg-br0
## ifcfg-br0 内容
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.0.108
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.0.1
## 修改 ifcfg-TP-LINK_5G
## 在底部新增一行
BRIDGE=br0
但是这么配置以后发现就上不去网了,怪的很。
ifconfig 显示确实成功创建了一个 virbr0
网卡 , 同时 wlp10s0 (本机无线网卡) 和 br0 (桥) 的 ipv4 地址都显示是 192.168.0.108
ping 路由器地址 192.168.0.1 会提示 Destination Host Unreachable,似乎本机和路由不处在同一网络中了。
第一次配桥接,不太懂发生了什么,求救。
======================================== 上不去网的状态下的 ifconfig 内容
[root@localhost network-scripts]# ifconfig
br0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255
ether 2a:54:07:cc:61:7c txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp6s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 70:85:c2:5e:82:2c txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfd600000-fd61ffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 6036 bytes 711608 (694.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6036 bytes 711608 (694.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:10:08:07 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp10s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2ef7:d9d3:a984:846d prefixlen 64 scopeid 0x20<link>
ether 30:b4:9e:a3:29:cb txqueuelen 1000 (Ethernet)
RX packets 304348 bytes 432376721 (412.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 185730 bytes 17967617 (17.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
1
black11black OP Append:
桥接网卡设置为 DHCP 后可以正常上网。 不太明白为什么固定 IP 模式不行。宿主网卡用同样设置改为 static 后可以联网,brige 更换一个与宿主不冲突的 IP (比如 192.168.0.109 )也一样无法上网 |
2
qinghon 2020-03-21 18:47:31 +08:00 via Android 1
你需要查看路由表信息 ip r
通常情况下 br0 配置了 ip 就不需要再在网卡上配置,会影响路由选择,其次桥接无线网卡是有诸多问题的,因为涉及到 mac 地址 可以参考这篇文章 https://segmentfault.com/a/1190000009491002?utm_medium=referral&utm_source=tuicool |
3
jinsongzhao 2020-03-21 22:18:30 +08:00
主网卡是无线网卡,而且是 DHCP 模式吗?那你桥接网卡里设置的精态地址哪里来的?
都要配置为一样的精态地址吧? 你用的 Xen 开源虚机系统搭建的吗?为何要配置桥接网卡。如果换 VMWare Exsi 免费版本呢? |
4
jinsongzhao 2020-03-21 22:20:57 +08:00
我觉得桥接网卡就是个附加在主卡上的虚拟网卡,配置应该完全一样才规范,就不用管那么多原因了。如果你用的是开源的 Xen 做虚机主机,管理起来会不会太不方便哦。
|
5
lechain 2020-03-22 11:33:25 +08:00 via Android
当你将虚拟机网卡在宿主端将其与无线网卡桥接后,整个机器对外展示的 ip 网卡就变成了桥接产生的网卡而不是无线网卡了,无线网卡只用于无线连接了,你要把无线网卡的 ip 地址去掉,不然会产生 ip 冲突,我映像中以前配 linux 虚拟网桥的时候有碰到过这个问题
|
6
msg7086 2020-03-22 12:31:14 +08:00
桥接网卡
br0 上配置宿主机 IP 物理网卡上什么都不配,空置 虚拟机网卡配虚拟机 IP br0 包含物理网卡做 slave |