Projet

Général

Profil

IPTables » Historique » Version 31

Laurent GUERBY, 02/10/2014 09:26

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