Projet

Général

Profil

Iproute2 » Historique » Version 6

Laurent GUERBY, 18/05/2014 10:42

1 1 Laurent GUERBY
{{>toc}}
2 1 Laurent GUERBY
3 1 Laurent GUERBY
h1. Iproute2
4 1 Laurent GUERBY
5 6 Laurent GUERBY
h2. Liens
6 6 Laurent GUERBY
7 6 Laurent GUERBY
* cheat sheet http://baturin.org/docs/iproute2/
8 6 Laurent GUERBY
9 1 Laurent GUERBY
h2. ADSL multiple
10 1 Laurent GUERBY
11 2 Laurent GUERBY
En cas de multiples box ADSL en mode routeur, activer la redirection 2222 vers localIP:22 pour pouvoir acceder a la machine derriere les box, il faut aussi faire du source routing :
12 1 Laurent GUERBY
13 1 Laurent GUERBY
<pre>
14 2 Laurent GUERBY
# Orange routing, local IP 10.0.0.221
15 2 Laurent GUERBY
ip route add 10.0.0.0/24 dev eth0 table 253
16 2 Laurent GUERBY
ip route add default via 10.0.0.253 table 253
17 2 Laurent GUERBY
ip rule add from 10.0.0.221 table 253
18 1 Laurent GUERBY
19 2 Laurent GUERBY
# FDN routing, local IP 192.168.88.221
20 2 Laurent GUERBY
ip route add 192.168.88.0/24 dev eth0 table 88
21 2 Laurent GUERBY
ip route add default via 192.168.88.2 table 88
22 2 Laurent GUERBY
ip rule add from 192.168.88.221 table 88
23 1 Laurent GUERBY
24 2 Laurent GUERBY
# Free routing, local IP 192.168.89.221
25 2 Laurent GUERBY
ip route add 192.168.89.0/24 dev eth0 table 89
26 2 Laurent GUERBY
ip route add default via 192.168.89.1 table 89
27 2 Laurent GUERBY
ip rule add from 192.168.89.221 table 89
28 1 Laurent GUERBY
29 3 Laurent GUERBY
# via VPN tap
30 2 Laurent GUERBY
ip link set tapbackup up
31 2 Laurent GUERBY
# openvpn...
32 2 Laurent GUERBY
ip addr add 172.30.30.3/31 dev tapbackup
33 2 Laurent GUERBY
ip route add default via 172.31.30.2 table 15
34 2 Laurent GUERBY
ip rule add from 172.30.30.3 table 15
35 1 Laurent GUERBY
</pre>
36 1 Laurent GUERBY
37 2 Laurent GUERBY
Ensuite "openvpn --local 10.0.0.221 --lport 0"  passera par Orange, "openvpn --local 192.168.88.221 --lport 0" par FDN, etc... idem pour toute appli qui bind une socket sur l'IP locale de son choix
38 2 Laurent GUERBY
39 3 Laurent GUERBY
Note : IPv6 via la freebox donne une IPv6 publique.
40 3 Laurent GUERBY
41 3 Laurent GUERBY
h2. Routage via tun
42 1 Laurent GUERBY
43 6 Laurent GUERBY
Par rapport a un device "tap" un device "tun" permet d'economiser des IP d'interconnexion et un peu de débit car les headers ethernet ne sont plus transmis, seul IP passe sur le device.
44 3 Laurent GUERBY
45 3 Laurent GUERBY
Pour simplifier les regles entre iptables et iproute2 on donne le meme noms aux tables qu'au device a la table :
46 3 Laurent GUERBY
47 3 Laurent GUERBY
<pre>
48 3 Laurent GUERBY
# /etc/iproute2/rt_tables
49 3 Laurent GUERBY
101 tunadsl1
50 3 Laurent GUERBY
102 tunadsl2
51 3 Laurent GUERBY
103 tunadsl3
52 3 Laurent GUERBY
</pre>
53 3 Laurent GUERBY
54 3 Laurent GUERBY
Creation d'un tun sur adsl :
55 3 Laurent GUERBY
56 3 Laurent GUERBY
<pre>
57 3 Laurent GUERBY
openvpn --mktun --dev-type tun --dev tunadsl1
58 3 Laurent GUERBY
ip link set tunadsl1 up
59 3 Laurent GUERBY
openvpn --dev-type tun --dev tunadsl1 --comp-lzo yes --cipher none --proto udp  --verb 3 --daemon --keepalive 10 30 --persist-tun \
60 3 Laurent GUERBY
 --local $ip_lan_modem --remote $server_ip _server_port --secret mykey.key \
61 3 Laurent GUERBY
 --log-append mylog.log --mssfix 1400 --fragment 1400 --lport 0
62 3 Laurent GUERBY
ip route add default dev tunstg table tunstg
63 3 Laurent GUERBY
ip route add $prefix_private dev $dev_private table tunadsl1
64 3 Laurent GUERBY
</pre>
65 3 Laurent GUERBY
66 3 Laurent GUERBY
Ajout SNAT/DNAT et routage entre $ip_public et $ip_private sur le tun $dev
67 3 Laurent GUERBY
68 3 Laurent GUERBY
<pre>
69 3 Laurent GUERBY
ip a add $ip_public/32 dev lo
70 3 Laurent GUERBY
iptables -t nat -A PREROUTING -d $ip_public -j DNAT --to-destination $ip_private -i $dev
71 3 Laurent GUERBY
iptables -t nat -A POSTROUTING -s $ip_private -j SNAT --to-source $ip_public -o $dev
72 3 Laurent GUERBY
ip rule add from $ip_public table $dev
73 3 Laurent GUERBY
ip rule add from $ip_private table $dev
74 3 Laurent GUERBY
</pre>