我有一个任务,我应该创建没有指向 eth* 的链接的 br1,并让这个 br1 访问互联网。我有 CentOS7。我创建了接口 br1:
DEVICE=br1
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NM_CONTROLLED=no
在 iptables 我写了这个:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.122.1
192.168.122.1 例如我的主界面,可以访问互联网。
我的问题:从我的 KVM 上的虚拟机访问互联网就足够了,或者我需要做其他事情。也许我需要一些 FORWARD 规则。因为 virbr0 接口工作,但我的 br1 没有。
使用伪装在 Linux 服务器上分配 NAT 而不是 SNAT:
要允许将数据包转发到 Internet:
允许转发来自 Internet 的数据包:
允许在两个虚拟网络之间转发数据包:
添加转发其他数据包的默认
deny
规则。它将所有不需要的连接从 Internet 丢弃到您的本地网络:不要忘记通过命令启用转发: