Projet

Général

Profil

IPTables » Historique » Version 30

Laurent GUERBY, 25/08/2014 19:43

1 1 Laurent GUERBY
{{>toc}}
2 1 Laurent GUERBY
3 1 Laurent GUERBY
h1. IPTables
4 1 Laurent GUERBY
5 22 Laurent GUERBY
h2. iptables links
6 22 Laurent GUERBY
7 1 Laurent GUERBY
* http://www.bortzmeyer.org/dns-netfilter-u32.html
8 1 Laurent GUERBY
* http://www.stearns.org/doc/iptables-u32.current.html
9 1 Laurent GUERBY
* http://ebtables.sourceforge.net/br_fw_ia/PacketFlow.png
10 1 Laurent GUERBY
* http://ebtables.sourceforge.net/
11 6 Laurent GUERBY
* http://www.inetdoc.net/guides/iptables-tutorial/traversingoftables.html
12 11 Laurent GUERBY
* http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
13 10 Laurent GUERBY
* https://en.wikipedia.org/wiki/List_of_router_or_firewall_distributions
14 2 Laurent GUERBY
15 2 Laurent GUERBY
DHCP ?
16 3 Laurent GUERBY
sysctl -w net.bridge.bridge-nf-call-iptables=1 
17 3 Laurent GUERBY
sysctl -w net.bridge.bridge-nf-call-ip6tables=1 
18 3 Laurent GUERBY
iptables -A INPUT -p udp --sport 68 --dport 67 -j DROP
19 2 Laurent GUERBY
20 4 Laurent GUERBY
https://bugzilla.redhat.com/show_bug.cgi?id=512206
21 4 Laurent GUERBY
22 7 Laurent GUERBY
* libnml
23 7 Laurent GUERBY
** http://www.spinics.net/lists/netfilter/msg52868.html
24 7 Laurent GUERBY
** http://1984.lsi.us.es/~pablo/docs/spae.pdf
25 22 Laurent GUERBY
26 28 Laurent GUERBY
Ne pas oublier 
27 28 Laurent GUERBY
28 28 Laurent GUERBY
<pre>
29 28 Laurent GUERBY
conntrack -F
30 28 Laurent GUERBY
</pre>
31 28 Laurent GUERBY
32 28 Laurent GUERBY
Apres chaque changement de regles.
33 28 Laurent GUERBY
34 22 Laurent GUERBY
h2. iptables hairpin
35 22 Laurent GUERBY
36 22 Laurent GUERBY
Hair pin / hairpin / hairpinning / NAT reflection
37 22 Laurent GUERBY
38 22 Laurent GUERBY
http://serverfault.com/questions/205040/accessing-the-dnatted-webserver-from-inside-the-lan
39 22 Laurent GUERBY
40 25 Laurent GUERBY
Avec :
41 30 Laurent GUERBY
* PUB_IFACE = interface avec ip publique, par exemple eth0
42 30 Laurent GUERBY
* PUB_IP = ip publique sur le host 
43 30 Laurent GUERBY
* PRIVATE_RANGE = range d'ip privee sur le bridge, par exemple 192.168.100.0/24
44 30 Laurent GUERBY
* VM_IP = l'ip privee de la VM dans ${PRIVATE_RANGE} par eemple 192.168.100.10
45 1 Laurent GUERBY
* PORT_LIST = 80,443 (et d'autres) la liste des ports a transferer a la VM
46 22 Laurent GUERBY
47 1 Laurent GUERBY
<pre>
48 30 Laurent GUERBY
iptables -t nat -A POSTROUTING -s ${PRIVATE_RANGE} -o ${PUB_IFACE} -j MASQUERADE
49 30 Laurent GUERBY
iptables -t nat -A PREROUTING -d ${PUB_IP}  -p tcp -m multiport --dports ${PORT_LIST} -j DNAT --to-destination ${VM_IP}
50 30 Laurent GUERBY
iptables -t nat -A POSTROUTING -s ${PRIVATE_RANGE} -d ${VM_IP} -p tcp -m multiport --dports ${PORT_LIST} -j MASQUERADE
51 30 Laurent GUERBY
iptables -t nat -A OUTPUT -d ${PUB_IP} -p tcp -m multiport --dports ${PORT_LIST} -j DNAT --to-destination ${VM_IP}
52 22 Laurent GUERBY
</pre>
53 7 Laurent GUERBY
54 26 Laurent GUERBY
* ligne 1 : pour que la VM puisse acceder a l'internet il faut le NAT
55 29 Laurent GUERBY
* ligne 2 : redirection des ports gérés par la VM de l'ip publique vers la VM
56 29 Laurent GUERBY
* 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
57 27 Laurent GUERBY
* 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
58 26 Laurent GUERBY
59 2 Laurent GUERBY
h1. ebtables
60 2 Laurent GUERBY
61 9 Laurent GUERBY
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
62 9 Laurent GUERBY
63 2 Laurent GUERBY
* http://serverfault.com/questions/284290/two-dhcp-servers-block-clients-for-one-of-them
64 5 Laurent GUERBY
65 5 Laurent GUERBY
ebtables -A INPUT --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
66 5 Laurent GUERBY
ebtables -A INPUT --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
67 5 Laurent GUERBY
ebtables -A FORWARD --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
68 5 Laurent GUERBY
ebtables -A FORWARD --in-interface br0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
69 8 Laurent GUERBY
70 8 Laurent GUERBY
h1. ipset
71 8 Laurent GUERBY
72 8 Laurent GUERBY
http://ipset.netfilter.org/