He tenido un script de inicio durante muchos años que configura iptables para mí y ha funcionado como un campeón hasta ahora. Después de actualizar de 10.04 a 12.04, comencé a tener problemas de firewall donde los conjuntos de reglas se estaban corrompiendo. Después de jugar un poco, descubrí que algo establece las siguientes reglas:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
incluso cuando he desactivado por completo mi propio script de firewall. Mi primer pensamiento fue que ufw estaba de alguna manera activa, pero no lo es:
# ufw status
Status: inactive
Puede o no estar relacionado, pero solo he visto este problema en máquinas en las que estoy ejecutando kvm.
¿Alguien tiene consejos sobre lo que podría estar haciendo esto y cómo deshabilitar lo que sea que esté agregando estas reglas no deseadas?
Edite para las personas que buscan esto en el futuro: finalmente encontré una fuente que vincula definitivamente estas misteriosas reglas de iptables con libvirt: http://libvirt.org/firewall.html
El espacio de direcciones 192.168.122 es comúnmente utilizado por kvm. Puede ver más sobre esto en el sitio libvirt.
libvirt
Ahí tiene toda la información.
fuente
Puede que ufw esté habilitado en el arranque, establezca las reglas y luego se inactive. Puede ser que las reglas estén codificadas en el script de inicio de ethernet. O KVM? ¿Por qué importa? Simplemente haga que el comando iptables no pueda ejecutarse desde la raíz con
chmod
y habilítelo solo en su script.fuente