Networking 如何在Centos 7上为KVM路由网桥配置防火墙
我想设置多个虚拟机来运行webserver、postfix等 我的ISP提供了一些公共IP地址。我的主机系统运行的是Centos 7,我的虚拟机运行的是Debian Wheezy。因为我的主机根据MAC地址限制对交换机的访问,所以我不能使用完整的网桥 相反,我配置了一个路由网桥 我已成功设置了这两台计算机,但如果主机上的防火墙处于活动状态,则vm无法连接到internet。如果我的防火墙处于活动状态,我可以从我的虚拟机ping internet上的计算机,但不能执行其他操作 如何在Centos 7下配置防火墙,使br0上的虚拟机能够访问internet 感谢您的帮助。多谢各位 网络配置主机 主机:/etc/sysconfig/network scripts/ifcfg-enp2s0Networking 如何在Centos 7上为KVM路由网桥配置防火墙,networking,centos,firewall,kvm,bridge,Networking,Centos,Firewall,Kvm,Bridge,我想设置多个虚拟机来运行webserver、postfix等 我的ISP提供了一些公共IP地址。我的主机系统运行的是Centos 7,我的虚拟机运行的是Debian Wheezy。因为我的主机根据MAC地址限制对交换机的访问,所以我不能使用完整的网桥 相反,我配置了一个路由网桥 我已成功设置了这两台计算机,但如果主机上的防火墙处于活动状态,则vm无法连接到internet。如果我的防火墙处于活动状态,我可以从我的虚拟机ping internet上的计算机,但不能执行其他操作 如何在Centos
BOOTPROTO=none
DEVICE=enp2s0
ONBOOT=yes
IPADDR=A.A.A.42
NETMASK=255.255.255.255
SCOPE="peer A.A.A.1"
主机:/etc/sysconfig/network scripts/route-enp2s0
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=A.A.A.1
主机:/etc/sysconfig/networkscripts/ifcfg-br0
DEVICE=br0
TYPE="Bridge"
ONBOOT=yes
BOOTPROTO=none
IPADDR=A.A.A.42
NETMASK=255.255.255.255
STP=off
DELAY=0
主机:/etc/sysconfig/network scripts/route-br0
ADDRESS0=B.B.B.160
NETMASK0=255.255.255.255
网络配置虚拟机
虚拟机:/etc/网络/接口
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address B.B.B.160
netmask 255.255.255.255
pointopoint A.A.A.42
gateway A.A.A.42
防火墙设置主机
防火墙命令-列出所有
public (default, active)
interfaces: br0 enp2s0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
提前非常感谢。要完成此任务,您有两个选择 选项1:从安全角度来看,建议使用此方法 在配置的网桥上禁用netfilter vi/etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables=0 net.bridge.bridge-nf-call-iptables=0 net.bridge.bridge-nf-call-arptables=0 检查前后的值 sysctl-p/etc/sysctl.conf 备选案文2: 添加直接防火墙规则 防火墙cmd-direct-add-chain ipv4筛选器转发0-m physdev-physdev已桥接-j接受
要实现这一目标,您有两个选择 选项1:从安全角度来看,建议使用此方法 在配置的网桥上禁用netfilter vi/etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables=0 net.bridge.bridge-nf-call-iptables=0 net.bridge.bridge-nf-call-arptables=0 检查前后的值 sysctl-p/etc/sysctl.conf 备选案文2: 添加直接防火墙规则 防火墙cmd-direct-add-chain ipv4筛选器转发0-m physdev-physdev已桥接-j接受
在使用firewalld的CentOS 8和CentOS 7上,有一种更简单的方法可以让所有路由桥接KVM虚拟机完全不受限制地访问internet,而无需处理防火墙规则 默认情况下,所有接口都绑定到公共防火墙区域。 但是有多个区域,即firewall cmd-列出其中一个被称为trusted的所有区域,这是默认情况下接受所有数据包的未过滤防火墙区域。 因此,您可以将网桥接口绑定到该区域
firewall-cmd --remove-interface br0 --zone=public --permanent
firewall-cmd --add-interface br0 --zone=trusted --permanent
firewall-cmd --reload
希望这会有所帮助。在CentOS 8上,可能在CentOS 7上使用firewalld,有一种更简单的方法可以让所有路由桥接KVM虚拟机完全不受限制地访问internet,而无需处理防火墙规则 默认情况下,所有接口都绑定到公共防火墙区域。 但是有多个区域,即firewall cmd-列出其中一个被称为trusted的所有区域,这是默认情况下接受所有数据包的未过滤防火墙区域。 因此,您可以将网桥接口绑定到该区域
firewall-cmd --remove-interface br0 --zone=public --permanent
firewall-cmd --add-interface br0 --zone=trusted --permanent
firewall-cmd --reload
希望这有帮助。注意,该命令应该使用-add rule而不是-add chain:firewall cmd-direct-add rule ipv4筛选器FORWARD 0-m physdev-physdev is bridged-j ACCEPTNote,命令应使用-add rule and not-add chain:firewall cmd-direct-add rule ipv4筛选器FORWARD 0-m physdev-physdev已桥接-j ACCEPTI在花了两天时间处理桥接器和NetworkManager设置后,我可以确认此解决方案对我有效。如果好奇,您可以确认此解决方案在哪个系统上工作?我在CentOS 8上进行了测试。至少对我来说,问题是谷歌搜索bridge,kvm也得到了同样的结果。当我读到你的答案时,我突然意识到firewalld比我过去习惯的传统iptables灵活得多。感谢您的推荐。在花了两天时间处理桥接器和NetworkManager设置后,我可以确认此解决方案对我有效。出于好奇,您可以确认此解决方案在哪个系统上有效?我在CentOS 8上进行了测试。至少对我来说,问题是谷歌搜索bridge,kvm也得到了同样的结果。当我读到你的答案时,我突然意识到firewalld比我过去习惯的传统iptables灵活得多。谢谢你的推荐。