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> |