虚拟机通过桥接模式上网(补充)
(上次设置的桥接模式并不具备上外网的能力,这次重新梳理了一下过程)
- 通过
brctl show
命令可以看到原来已经有网桥br1,我想通过brctl delbr br1
试着删除该网桥,但是提示不能删除,经过分析,原因可能有二,其一还有网卡挂在其上,其二,该网桥没有关闭,执行ifconfig br1 down
命令关闭网桥,然后再进行删除。 - 重新建立一个网桥,
brctl addbr br-ex
(让linux知道网桥,首先告诉它,我们想要一个虚拟的以太网桥接口) - 把物理网卡enp11s0挂载到网桥上,
brctl addif br-ex enp11s0
(以太网物理接口变成了网桥上的逻辑端口。那物理接口过去存在,未来也不会消失。) - 此时,ifconfig发现网卡和网桥均有ip(不正常,上不去网)
- 执行删去网卡ip的命令
id addr del dev enp11s0 192.168.1.50/24
(为什么可以删去,因为物理网卡成了逻辑网桥设备的一部分了,所以不再需要IP地址。虽然不把原有的网卡地址释放掉,网桥也能工作!但是,为了更规范,或者说为了避免有什幺莫名其妙的问题,最好还是按要求做) - 更改
/etc/network/interface
文件,添加配置,static模式 - 此时再ifconfig发现物理网卡已没有ip,只有br-ex有,此时可以上网。
- 登录到学校网关(如果登不上,可能DNS解析出现问题,去/etc/resolv.conf更改配置,加上
nameserver 172.21.0.21
,此为学校的DNS服务器) - 此时一切完好,服务器设置已经完毕!这时虚拟机即可以通过桥接模式连接外网,但请注意,如果重启服务器的话,这些配置会消失,因为这些事通过命令行设置的,如果想永久生效的话,可能需要通过配置文件进行修改(我并没有尝试)注:
ping 172.21.4.254
可以检查是否可以访问外网。 - 下图显示的是一些配置网桥常用的命令
注意的问题:
- brctl show中有STP选项,这个其实是生成树协议!因为实验室目前只有一个路由器,是绝对不可能形成一个环的。可以关闭这个功能,这样也可以减少网络环境的数据包污染。
- 服务器可以上网但是ping百度不通,可能是由于很多网站在服务器都设置了阻止ping数据包,一是安全考虑,二是如果每天都有大量的ping数据包向服务器请求,那会给服务器带来很大负担,如果人家恶意向你的服务器发送大量这种数据包,你的服务器将会无暇顾及其他数据包,那你的网站别人将无法访问,或者打开非常慢,经过测试,确实是这样的!