路由應該設定在網橋上,而不是虛擬網路卡上 ( by quqi99 )
路由應該設定在網橋上,而不是虛擬網路卡上 ( by quqi99 )
作者:張華 發表於:2013-04-13
版權宣告:可以任意轉載,轉載時請務必以超連結形式標明文章原始出處和作者資訊及本版權宣告
( http://blog.csdn.net/quqi99 )
最近遇到一個問題,兩臺機器上的兩個網橋上的兩個tap裝置不能互通,查了半天,發現網橋上沒路由,而是設定到虛擬網路卡上了(eg: 從VM中不能ping host上的tap及閘道器, 也是因為VM裡的NIC被plug到了網橋中所致)。
之前給br-int設定ip時,系統會自動地在br-int上也設定一條路由規則,就通了,也就沒注意。但是當給tap裝置手工設定ip時,系統也會自動在tap裝置設定路由,而不是在網橋上,所以就ping不通了。之前經常偶爾發現虛機和物理機不能互通估計都是這個原因。
正確 route add -net 10.0.1.0 netmask 255.255.255.0 dev br-int
錯誤 route add -net 10.0.1.0 netmask 255.255.255.0 dev tap0
2013-04-26補充:
今天使用openvswitch建立一個虛機網路卡後,路由在虛擬網路卡不在橋上是可以work的,但是要保證一點,將虛擬網路設定屬性type=internal:
sudo ovs-vsctl add-port br-eth0 br-eth0-if -- set interface br-eth0-if type=internal
in /etc/network/interface, add
auto br-eth0-if
iface br-eth0-if inet dhcp
文章 Connecting OVS Bridges with Patch Ports http://blog.scottlowe.org/2012/11/27/connecting-ovs-bridges-with-patch-ports/ 上提到加了type=internal後這個虛擬介面才具備L3層的功能才可能新增ip,才可以做路由相關的事情。
這下原因清楚了,但是上述使用linux bridge時的tap裝置如何也讓它也具有L3層功能呢?暫不清楚。
2014-10-31再次幫同事解決上述問題, 證明理論正確, ip和路由設定在bond網路卡上時一定要新增type=internal, ip和路由設定在網橋時, bond網路卡就不能新增type=internal屬性
比如說,network-manager有bug,如果網路卡都不由它來管理時會無法使用network-manager(這樣依賴於它的一些vpn也無法啟動),所以我們最好讓eth0直接由network-manager來管理(這樣不要在/etc/network/interface裡新增和eth0相關的配置),如果又想用網橋,可以:
sudo ovs-vsctl addbr br-phy
sudo ovs-vsctl -- --may-exist add-port br-phy eth0 -- set interface eth0 type=internal
如果有多網路卡,避免新增兩個預設路由的問題,使用network-manager來管理其他網路卡,令他們為manual模式。
auto eth1
iface eth1 inet manual
2014-10-25
今天使用kvm建立了一個isolated的網路, 發現兩臺虛機無法ping通, 從物理機上ping一臺虛機時偶爾能ping通, ping另一臺時偶爾發生"Redirect Host(New nexthop"現象, 查了整整一天, 人都快要瘋掉了, 原因是這兩臺虛機上兩個網橋br-phy上的mac地址重複了.
2016-05-20
1, 執行“sudo apt-get install openvswitch-switch qemu-kvm libvirt-bin”之後自動產生了virbr0(192.168.122.0/24),而剛好MaaS產生的機器有一塊網路卡也為192.168.122.0/24從而造成網路不通。
2, 使用type=internal時(sudo ovs-vsctl -- --may-exist add-port br-phy eth0 -- set interface eth0 type=internal)會產生另外一個問題即ovs-ofctl命令無法執行(sudo ovs-ofctl dump-flows br-phy),可用命令sudo virsh net-destroy default去除.
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-ofctl dump-flows br-phy
ovs-ofctl: br-phy: failed to connect to socket (Connection reset by peer)
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-vsctl del-port br-phy eth7
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-ofctl dump-flows br-phy
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=11533.961s, table=0, n_packets=20103, n_bytes=6910304, idle_age=3, priority=0 actions=NORMAL
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-ofctl dump-flows br-phy
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=11584.170s, table=0, n_packets=20125, n_bytes=6912276, idle_age=0, priority=0 actions=NORMAL
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-vsctl del-port br-phy eth7
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-vsctl -- --may-exist add-port br-phy eth7 -- set interface eth7 type=internal
ubuntu@duduo:/bak/openstack/devstack$ sudo ovs-ofctl dump-flows br-phy
ovs-ofctl: br-phy: failed to connect to socket (Connection reset by peer)
相關文章
- 虛擬機器下無線上網路卡共享給MAC上網的設定虛擬機Mac
- vmware虛擬機器橋接模式無法上網虛擬機橋接模式
- 迎風而上:國產網路卡再賦能
- 雙網路卡共享上網設定
- 設定VMWARE通過橋接方式使用主機無線網路卡上網橋接
- Vmware中的虛擬網路 ( by quqi99 )
- 虛擬機器上網(轉)虛擬機
- 國產網路卡:虛擬化應用,民族品牌
- 虛擬機器網路卡配置虛擬機
- win10如何修改虛擬網路卡ip_win10虛擬網路卡怎麼設定ip地址Win10
- Xen虛擬機器新增網路卡虛擬機
- CentOS 5.4上雙網路卡(多網路卡)繫結CentOS
- winform C# 獲取區分物理網路卡、虛擬網路卡及無線網路卡ORMC#
- golang什麼時候應該把方法繫結在struct的值上而不是指標上?GolangStruct指標
- VMware 虛擬機器安裝 OpenWrt 作旁路由 單臂路由 img 映象轉 vmdk 旁路由無法上網 沒網路虛擬機路由
- Linux 虛擬網路卡技術:MacvlanLinuxMac
- 虛擬機器雙網路卡繫結虛擬機
- Linux虛擬網路卡TUN和TAPLinux
- KVM虛擬機器新增物理網路卡虛擬機
- Openstack的刪除錯誤網橋,虛擬網路除錯
- 如何在 Ubuntu 上搭建網橋Ubuntu
- 如何在 Ubuntu 上配置網橋Ubuntu
- 虛擬機器連不上網怎麼辦虛擬機
- kvm虛擬化關閉虛擬網路卡virbr0的方法
- dlink路由器PPPoE上網設定路由器
- KVM [ 4 ] --- KVM虛擬機器管理:儲存池,虛擬機器快照,網路網橋虛擬機
- 網站原始碼怎麼上傳虛擬主機網站原始碼
- 【轉】虛擬機器安裝Ubuntu的上網設定(有線網路和無線網路)虛擬機Ubuntu
- win10虛擬機器無法上網怎麼辦_win10虛擬機器無法上網的解決方法Win10虛擬機
- vmware虛擬網路卡驅動無法安裝
- KVM之十:虛擬機器線上新增網路卡虛擬機
- 將虛擬機器IP與主機IP設定在同一網段的方法虛擬機
- 用路由器上不了網 連線上路由器上不了網怎麼辦?路由器
- 雲主機新增網路卡配置多網路卡策略路由路由
- 多網路卡路由出口配置路由
- 如何在 Debian Linux 上設定和配置網橋Linux
- 解決克隆虛擬機器無法上網問題虛擬機
- 如何在Mac 上設定虛擬 VPNMac