mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-09-09 09:14:57 +00:00
While the default iptables setup used by Fedora/RHEL distros only restricts traffic on the INPUT and/or FORWARD rules, some users might have custom firewalls that restrict the OUTPUT rules too. These can prevent DHCP/DNS/TFTP responses from dnsmasq from reaching the guest VMs. We should thus whitelist these protocols in the OUTPUT chain, as well as the INPUT chain. Signed-off-by: Malina Salina <malina.salina@protonmail.com> Initial patch then modified to add unit tests and IPv6 support Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
129 lines
2.4 KiB
Plaintext
129 lines
2.4 KiB
Plaintext
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_INP \
|
|
--in-interface virbr0 \
|
|
--protocol tcp \
|
|
--destination-port 67 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_INP \
|
|
--in-interface virbr0 \
|
|
--protocol udp \
|
|
--destination-port 67 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_OUT \
|
|
--out-interface virbr0 \
|
|
--protocol tcp \
|
|
--destination-port 68 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_OUT \
|
|
--out-interface virbr0 \
|
|
--protocol udp \
|
|
--destination-port 68 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_INP \
|
|
--in-interface virbr0 \
|
|
--protocol tcp \
|
|
--destination-port 53 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_INP \
|
|
--in-interface virbr0 \
|
|
--protocol udp \
|
|
--destination-port 53 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_OUT \
|
|
--out-interface virbr0 \
|
|
--protocol tcp \
|
|
--destination-port 53 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_OUT \
|
|
--out-interface virbr0 \
|
|
--protocol udp \
|
|
--destination-port 53 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_FWO \
|
|
--in-interface virbr0 \
|
|
--jump REJECT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_FWI \
|
|
--out-interface virbr0 \
|
|
--jump REJECT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_FWX \
|
|
--in-interface virbr0 \
|
|
--out-interface virbr0 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_FWO \
|
|
--source 192.168.122.0/24 \
|
|
--in-interface virbr0 \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table filter \
|
|
--insert LIBVIRT_FWI \
|
|
--destination 192.168.122.0/24 \
|
|
--out-interface virbr0 \
|
|
--match conntrack \
|
|
--ctstate ESTABLISHED,RELATED \
|
|
--jump ACCEPT
|
|
iptables \
|
|
--table nat \
|
|
--insert LIBVIRT_PRT \
|
|
--source 192.168.122.0/24 '!' \
|
|
--destination 192.168.122.0/24 \
|
|
--jump MASQUERADE
|
|
iptables \
|
|
--table nat \
|
|
--insert LIBVIRT_PRT \
|
|
--source 192.168.122.0/24 \
|
|
-p udp '!' \
|
|
--destination 192.168.122.0/24 \
|
|
--jump MASQUERADE \
|
|
--to-ports 1024-65535
|
|
iptables \
|
|
--table nat \
|
|
--insert LIBVIRT_PRT \
|
|
--source 192.168.122.0/24 \
|
|
-p tcp '!' \
|
|
--destination 192.168.122.0/24 \
|
|
--jump MASQUERADE \
|
|
--to-ports 1024-65535
|
|
iptables \
|
|
--table nat \
|
|
--insert LIBVIRT_PRT \
|
|
--source 192.168.122.0/24 \
|
|
--destination 255.255.255.255/32 \
|
|
--jump RETURN
|
|
iptables \
|
|
--table nat \
|
|
--insert LIBVIRT_PRT \
|
|
--source 192.168.122.0/24 \
|
|
--destination 224.0.0.0/24 \
|
|
--jump RETURN
|
|
iptables \
|
|
--table mangle \
|
|
--insert LIBVIRT_PRT \
|
|
--out-interface virbr0 \
|
|
--protocol udp \
|
|
--destination-port 68 \
|
|
--jump CHECKSUM \
|
|
--checksum-fill
|