Projet

Général

Profil

IPTables

iptables links

DHCP ?
sysctl -w net.bridge.bridge-nf-call-iptables=1
sysctl -w net.bridge.bridge-nf-call-ip6tables=1
iptables -A INPUT -p udp --sport 68 --dport 67 -j DROP

https://bugzilla.redhat.com/show_bug.cgi?id=512206

Ne pas oublier

conntrack -F

Apres chaque changement de regles.

iptables hairpin

Hair pin / hairpin / hairpinning / NAT reflection

http://serverfault.com/questions/205040/accessing-the-dnatted-webserver-from-inside-the-lan

Avec :
  • PUB_IFACE = interface avec ip publique, par exemple eth0
  • PUB_IP = ip publique sur le host
  • PRIVATE_RANGE = range d'ip privee sur le bridge, par exemple 192.168.100.0/24
  • VM_IP = l'ip privee de la VM dans ${PRIVATE_RANGE} par eemple 192.168.100.10
  • PORT_LIST = 80,443 (et d'autres) la liste des ports a transferer a la VM
iptables -t nat -A POSTROUTING -s ${PRIVATE_RANGE} -o ${PUB_IFACE} -j MASQUERADE
iptables -t nat -A PREROUTING -d ${PUB_IP}  -p tcp -m multiport --dports ${PORT_LIST} -j DNAT --to-destination ${VM_IP}
iptables -t nat -A POSTROUTING -s ${PRIVATE_RANGE} -d ${VM_IP} -p tcp -m multiport --dports ${PORT_LIST} -j MASQUERADE
iptables -t nat -A OUTPUT -d ${PUB_IP} -p tcp -m multiport --dports ${PORT_LIST} -j DNAT --to-destination ${VM_IP}
  • ligne 1 : pour que la VM puisse acceder a l'internet il faut le NAT
  • ligne 2 : redirection des ports gérés par la VM de l'ip publique vers la VM
  • ligne 3 : si la VM veut parler a l'IP publique sur un port géré par la VM il faut faire un reflection NAT vers la VM
  • ligne 4 : si le host veut parler a l'IP publique sur un port géré par la VM il faut diriger vers la VM

ebtables

ebtables -A FORWARD -d ff:ff:ff:ff:ff:ff/ff:ff:ff:ff:ff:ff -p IPv4 --ip-prot udp --ip-dport 67:68 -j DROP

ebtables -A INPUT --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
ebtables -A INPUT --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A FORWARD --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A FORWARD --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP

ipset

http://ipset.netfilter.org/