小编Lok*_*nDz的帖子

将 Open vSwitch 交换机连接到真实网络:iptables masquerade

我正在使用 Open vSwitch 在 vi​​rtualBox 来宾计算机之间创建交换网络,并且我希望主机操作系统(Ubuntu 12.04)加入该网络并将其配置为该虚拟网络的网关:

首先,我创建了一个 vswitch 并添加了端口以连接设备(虚拟机将它们用作桥接接口):

ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0
Run Code Online (Sandbox Code Playgroud)

之后,我静态设置了 Lubuntu 12.04 虚拟机的 ip:

ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1
Run Code Online (Sandbox Code Playgroud)

在主机 os 端,我还设置了 ip 地址:

ifconfig sw0 192.168.1.1/24 up
Run Code Online (Sandbox Code Playgroud)

此时,我可以从 Lubunut ping 到 Ubunutu。我现在想在主机中使用 IP 伪装将流量从网络 192.168.1.0/24 转发到我的物理接口(连接到 Internet):

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

因此,从 Lubuntu(虚拟机),我可以 ping Ubuntu eth1 接口,但无法访问真实网络(例如:真实 LAN 上的网关),我尝试过:

nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 …
Run Code Online (Sandbox Code Playgroud)

iptables ip-forwarding openvswitch

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

ip-forwarding ×1

iptables ×1

openvswitch ×1