Projet

Général

Profil

Iproute2 » Historique » Version 3

Version 2 (Laurent GUERBY, 16/07/2012 18:46) → Version 3/6 (Laurent GUERBY, 01/12/2012 17:43)

{{>toc}}



h1. Iproute2



h2. ADSL multiple



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 :



<pre>

# Orange routing, local IP 10.0.0.221

ip route add 10.0.0.0/24 dev eth0 table 253

ip route add default via 10.0.0.253 table 253

ip rule add from 10.0.0.221 table 253



# FDN routing, local IP 192.168.88.221

ip route add 192.168.88.0/24 dev eth0 table 88

ip route add default via 192.168.88.2 table 88

ip rule add from 192.168.88.221 table 88



# Free routing, local IP 192.168.89.221

ip route add 192.168.89.0/24 dev eth0 table 89

ip route add default via 192.168.89.1 table 89

ip rule add from 192.168.89.221 table 89



# via VPN tap

ip link set tapbackup up

# openvpn...

ip addr add 172.30.30.3/31 dev tapbackup

ip route add default via 172.31.30.2 table 15

ip rule add from 172.30.30.3 table 15

</pre>



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



Note : IPv6 via la freebox donne une IPv6 publique.

h2. Routage via tun

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.

Pour simplifier les regles entre iptables et iproute2 on donne le meme noms aux tables qu'au device a la table :

<pre>
# /etc/iproute2/rt_tables
101 tunadsl1
102 tunadsl2
103 tunadsl3
</pre>

Creation d'un tun sur adsl :

<pre>
openvpn --mktun --dev-type tun --dev tunadsl1
ip link set tunadsl1 up
openvpn --dev-type tun --dev tunadsl1 --comp-lzo yes --cipher none --proto udp --verb 3 --daemon --keepalive 10 30 --persist-tun \
--local $ip_lan_modem --remote $server_ip _server_port --secret mykey.key \
--log-append mylog.log --mssfix 1400 --fragment 1400 --lport 0
ip route add default dev tunstg table tunstg
ip route add $prefix_private dev $dev_private table tunadsl1
</pre>

Ajout SNAT/DNAT et routage entre $ip_public et $ip_private sur le tun $dev

<pre>
ip a add $ip_public/32 dev lo
iptables -t nat -A PREROUTING -d $ip_public -j DNAT --to-destination $ip_private -i $dev
iptables -t nat -A POSTROUTING -s $ip_private -j SNAT --to-source $ip_public -o $dev
ip rule add from $ip_public table $dev
ip rule add from $ip_private table $dev
</pre>