Projet

Général

Profil

Iproute2 » Historique » Version 3

Laurent GUERBY, 01/12/2012 17:43

1 1 Laurent GUERBY
{{>toc}}
2 1 Laurent GUERBY
3 1 Laurent GUERBY
h1. Iproute2
4 1 Laurent GUERBY
5 1 Laurent GUERBY
h2. ADSL multiple
6 1 Laurent GUERBY
7 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 :
8 1 Laurent GUERBY
9 1 Laurent GUERBY
<pre>
10 2 Laurent GUERBY
# Orange routing, local IP 10.0.0.221
11 2 Laurent GUERBY
ip route add 10.0.0.0/24 dev eth0 table 253
12 2 Laurent GUERBY
ip route add default via 10.0.0.253 table 253
13 2 Laurent GUERBY
ip rule add from 10.0.0.221 table 253
14 1 Laurent GUERBY
15 2 Laurent GUERBY
# FDN routing, local IP 192.168.88.221
16 2 Laurent GUERBY
ip route add 192.168.88.0/24 dev eth0 table 88
17 2 Laurent GUERBY
ip route add default via 192.168.88.2 table 88
18 2 Laurent GUERBY
ip rule add from 192.168.88.221 table 88
19 1 Laurent GUERBY
20 2 Laurent GUERBY
# Free routing, local IP 192.168.89.221
21 2 Laurent GUERBY
ip route add 192.168.89.0/24 dev eth0 table 89
22 2 Laurent GUERBY
ip route add default via 192.168.89.1 table 89
23 2 Laurent GUERBY
ip rule add from 192.168.89.221 table 89
24 1 Laurent GUERBY
25 3 Laurent GUERBY
# via VPN tap
26 2 Laurent GUERBY
ip link set tapbackup up
27 2 Laurent GUERBY
# openvpn...
28 2 Laurent GUERBY
ip addr add 172.30.30.3/31 dev tapbackup
29 2 Laurent GUERBY
ip route add default via 172.31.30.2 table 15
30 2 Laurent GUERBY
ip rule add from 172.30.30.3 table 15
31 1 Laurent GUERBY
</pre>
32 1 Laurent GUERBY
33 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
34 2 Laurent GUERBY
35 1 Laurent GUERBY
Note : IPv6 via la freebox donne une IPv6 publique.
36 3 Laurent GUERBY
37 3 Laurent GUERBY
h2. Routage via tun
38 3 Laurent GUERBY
39 3 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.
40 3 Laurent GUERBY
41 3 Laurent GUERBY
Pour simplifier les regles entre iptables et iproute2 on donne le meme noms aux tables qu'au device a la table :
42 3 Laurent GUERBY
43 3 Laurent GUERBY
<pre>
44 3 Laurent GUERBY
# /etc/iproute2/rt_tables
45 3 Laurent GUERBY
101 tunadsl1
46 3 Laurent GUERBY
102 tunadsl2
47 3 Laurent GUERBY
103 tunadsl3
48 3 Laurent GUERBY
</pre>
49 3 Laurent GUERBY
50 3 Laurent GUERBY
Creation d'un tun sur adsl :
51 3 Laurent GUERBY
52 3 Laurent GUERBY
<pre>
53 3 Laurent GUERBY
openvpn --mktun --dev-type tun --dev tunadsl1
54 3 Laurent GUERBY
ip link set tunadsl1 up
55 3 Laurent GUERBY
openvpn --dev-type tun --dev tunadsl1 --comp-lzo yes --cipher none --proto udp  --verb 3 --daemon --keepalive 10 30 --persist-tun \
56 3 Laurent GUERBY
 --local $ip_lan_modem --remote $server_ip _server_port --secret mykey.key \
57 3 Laurent GUERBY
 --log-append mylog.log --mssfix 1400 --fragment 1400 --lport 0
58 3 Laurent GUERBY
ip route add default dev tunstg table tunstg
59 3 Laurent GUERBY
ip route add $prefix_private dev $dev_private table tunadsl1
60 3 Laurent GUERBY
</pre>
61 3 Laurent GUERBY
62 3 Laurent GUERBY
Ajout SNAT/DNAT et routage entre $ip_public et $ip_private sur le tun $dev
63 3 Laurent GUERBY
64 3 Laurent GUERBY
<pre>
65 3 Laurent GUERBY
ip a add $ip_public/32 dev lo
66 3 Laurent GUERBY
iptables -t nat -A PREROUTING -d $ip_public -j DNAT --to-destination $ip_private -i $dev
67 3 Laurent GUERBY
iptables -t nat -A POSTROUTING -s $ip_private -j SNAT --to-source $ip_public -o $dev
68 3 Laurent GUERBY
ip rule add from $ip_public table $dev
69 3 Laurent GUERBY
ip rule add from $ip_private table $dev
70 3 Laurent GUERBY
</pre>