Dins la nostra màquina virtual del Proxmox, hem d'afegir 3 targetes de xarxes. Una connectada a la xarxa de l'aula, una a una línia ADSL i una pel router Xeba.
IMPORTANT: Perquè els canvis a l'hora d'afegir targetes de xarxa tinguin efecte, no val amb reiniciar la màquina amb un reboot, s'ha d'apagar i tornar a engegar.
Ena vegada les tenim afegides, iniciem la màquina virtual i modifiquem l'arxiu /etc/network/interfaces perquè quedi de la següent manera:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.204.107 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 172.26.1.6 netmask 255.255.255.248 auto eth2 iface eth2 inet static address 172.26.0.5 netmask 255.255.255.248 gateway 172.26.0.2
La eth0 té l'adreça de l'aula 20.4 (VLAN 17), la eth1 té l'adreça d'una línia ADSL de l'institut (VLAN 21) i la eth2 té l'adreça del router Xeba (VLAN 20).
Les adreces les reservem a la pàgina del Gestió IP: http://noc.iesebre.com/gestioip/index.cgi
Reiniciem la configuració de la xarxa amb la comanda
$ sudo /etc/init.d/networking restart
El següent pas és aconseguir que el nostre servidor faci de router. Per a fer-ho, hem d'introduir la següent comanda:
$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Comprovem que ara l'estat de l'ip forwarding és 1:
$ cat /proc/sys/net/ipv4/ip_forward 1
Aquest canvi, però, no és permanent. Per fer-lo permanent, haurem de crear el següent script, anomenat router dins de /etc/network/if-up.d/:
#! /bin/sh echo 1 > /proc/sys/net/ipv4/ip_forward
I el fem executable:
$ sudo chmod +x /etc/network/if-up.d/router
Ara afegim la ruta per defecte del router Xeba:
$ sudo route add default gw 172.26.0.2
Podem comprovar que aquesta ruta s'ha fet efectiva amb la comanda route -n:
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.26.0.2 0.0.0.0 UG 0 0 0 eth2 172.26.0.0 0.0.0.0 255.255.255.248 U 0 0 0 eth2 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.204.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Comprovem que l'enrutament funciona amb la comanda traceroute:
$ traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 85.192.120.9 (85.192.120.9) 4.034 ms 5.407 ms 5.351 ms 2 10.19.41.1 (10.19.41.1) 53.836 ms 55.602 ms 56.630 ms 3 213.176.160.154 (213.176.160.154) 60.610 ms 60.931 ms 64.111 ms 4 213.176.160.4 (213.176.160.4) 64.847 ms 65.298 ms 67.119 ms 5 83.247.145.9 (83.247.145.9) 70.170 ms 70.518 ms 71.579 ms 6 83.247.145.1 (83.247.145.1) 73.267 ms 71.731 ms 71.932 ms 7 213.192.249.158 (213.192.249.158) 73.654 ms 52.633 ms 53.650 ms 8 213.192.249.157 (213.192.249.157) 55.301 ms 55.667 ms 56.783 ms 9 212.80.161.81 (212.80.161.81) 57.405 ms 89.477 ms 90.137 ms 10 212.80.160.97 (212.80.160.97) 85.130 ms 82.445 ms 83.011 ms 11 212.80.160.241 (212.80.160.241) 72.027 ms 70.427 ms 71.210 ms 12 * * * 13 193.149.1.94 (193.149.1.94) 61.593 ms 61.223 ms 61.991 ms 14 216.239.49.196 (216.239.49.196) 63.034 ms 216.239.49.230 (216.239.49.230) 61.804 ms 216.239.49.196 (216.239.49.196) 61.992 ms 15 209.85.240.191 (209.85.240.191) 84.013 ms 209.85.240.189 (209.85.240.189) 88.092 ms 91.585 ms 16 216.239.43.233 (216.239.43.233) 88.518 ms 209.85.253.20 (209.85.253.20) 93.393 ms 216.239.43.233 (216.239.43.233) 90.869 ms 17 209.85.252.83 (209.85.252.83) 89.663 ms 72.14.236.191 (72.14.236.191) 89.284 ms 209.85.252.83 (209.85.252.83) 85.265 ms 18 * * * 19 8.8.8.8 (8.8.8.8) 84.900 ms 85.044 ms 85.098 ms
Multigateway Afegim una nova ruta al fitxer /etc/iproute2/rt_tables:
$ sudo nano /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 200 joelproxmox
A continuació executem la comanda flush perquè el nostre sistema apliqui la ruta afegida:
$ sudo ip route flush table joelproxmox
Consultem la taula per defecte:
$ sudo ip route show default via 172.26.0.2 dev eth2 metric 100 172.26.0.0/29 dev eth2 proto kernel scope link src 172.26.0.5 172.26.1.0/29 dev eth1 proto kernel scope link src 172.26.1.6 192.168.204.0/24 dev eth0 proto kernel scope link src 192.168.204.107
Consultem la taula que hem creat:
$ sudo ip route show table joelproxmox
Apareix en blanc perquè no l'hem omplida encara.
Per afegir una ruta nova a la taula, utilitzem la comanda add.
Afegim el gateway amb aquesta comanda:
$ sudo ip route add default via 172.26.0.2 dev eth2 proto static table joelproxmox
Afegim la xarxa amb la mateixa comanda:
$ sudo ip route add 172.26.0.0/29 dev eth2 proto kernel scope link src 172.26.0.5 table joelproxmox
Quan hem afegit el gateway i la xarxa, podem establir la nova norma:
$ sudo ip rule add from 192.168.204.112 lookup joelproxmox
Fem un cop d'ull a les normes:
$ sudo ip rule show 0: from all lookup local 32764: from 192.168.204.112 lookup joelproxmox 32766: from all lookup main 32767: from all lookup default
A continuació, per fer les proves, canvio la porta d'enllaç del meu client per la IP del meu servidor proxmox:
Primer esborro la porta d'enllaç de l'aula:
$ sudo route del default gw 192.168.204.1
Seguidament afegeixo la nova porta d'enllaç:
$ sudo route add default gw 192.168.204.107
Consulto la taula de rutes:
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.204.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 0.0.0.0 192.168.204.107 0.0.0.0 UG 0 0 0 eth1
Ara s'ha de crear a la màquina del servidor una norma de NAT:
$ sudo iptables -t nat -A POSTROUTING -s 192.168.204.0/24 -j MASQUERADE
Comprovo la taula NAT:
$ sudo iptables -L -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 192.168.204.0/24 anywhere
Faig un traceroute per comprovar el camí del ping:
$ traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 a204PC07.aula204.iesebre.com (192.168.204.107) 0.401 ms 0.424 ms 0.443 ms 2 iesebre.xtec.cat (85.192.120.9) 4.490 ms 4.507 ms 4.526 ms 3 10.19.41.1 (10.19.41.1) 53.723 ms 54.437 ms 54.832 ms 4 213.176.160.154 (213.176.160.154) 57.033 ms 57.413 ms 58.592 ms 5 llenep.xtec.cat (213.176.160.4) 59.970 ms 60.693 ms 61.089 ms 6 83.247.145.9 (83.247.145.9) 62.937 ms 62.021 ms 62.346 ms 7 83.247.145.1 (83.247.145.1) 64.704 ms 49.785 ms 53.536 ms 8 213.192.249.158 (213.192.249.158) 56.679 ms 57.903 ms 58.291 ms 9 gencat-0-0-0-11-core3-bap.bt-igs.net (213.192.249.157) 59.051 ms 59.417 ms 60.130 ms 10 xe-0-0-0-core3-bap.bt-igs.net (212.80.161.81) 60.878 ms 61.221 ms 62.501 ms 11 xe-0-0-2-core2-espanix.bt-igs.net (212.80.160.97) 75.974 ms 76.886 ms 77.831 ms 12 xe-0-0-0-23.core1-espanix.bt-igs.net (212.80.160.241) 79.176 ms 79.540 ms 80.710 ms 13 * * * 14 193.149.1.94 (193.149.1.94) 65.403 ms 68.161 ms 68.538 ms 15 216.239.49.230 (216.239.49.230) 76.324 ms 79.178 ms 79.867 ms 16 209.85.240.191 (209.85.240.191) 94.515 ms 209.85.240.189 (209.85.240.189) 98.392 ms 99.764 ms 17 72.14.235.14 (72.14.235.14) 136.353 ms 138.995 ms 72.14.235.16 (72.14.235.16) 98.725 ms 18 209.85.254.118 (209.85.254.118) 165.055 ms 209.85.254.114 (209.85.254.114) 103.692 ms 209.85.254.118 (209.85.254.118) 148.275 ms 19 * * * 20 google-public-dns-a.google.com (8.8.8.8) 83.525 ms 87.750 ms 86.068 ms
Ara canvio la gateway per defecte del servidor perquè surti per un altra IP:
$ sudo route del default gw 172.26.0.2
$ sudo route add default gw 172.16.1.1
Al client, canvio la IP per una que no sigui la de la norma:
$ sudo ifconfig eth1 192.168.204.223/24
Afegeixo la porta d'enllaç del servidor:
$ sudo route add default gw 192.168.204.107
Faig un traceroute:
$ traceroute 8.8.8.8 -n traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 192.168.204.107 0.281 ms 0.254 ms 0.317 ms 2 172.26.1.1 1.194 ms 1.214 ms 1.234 ms 3 185.13.76.129 4.090 ms 4.032 ms 3.976 ms 4 149.6.130.217 77.329 ms 77.745 ms 77.759 ms 5 154.54.59.129 4.422 ms 4.753 ms 4.771 ms 6 154.54.56.21 12.711 ms 13.076 ms 13.094 ms 7 154.54.74.102 30.782 ms 154.54.74.82 29.348 ms 154.54.74.98 29.813 ms 8 154.54.39.17 35.297 ms 35.606 ms 130.117.50.241 35.074 ms 9 149.6.140.138 36.619 ms 149.6.140.58 34.636 ms 149.6.140.138 35.920 ms 10 209.85.241.110 72.886 ms 209.85.240.64 34.442 ms 34.384 ms 11 72.14.239.60 35.214 ms 72.14.236.20 64.636 ms 72.14.239.60 35.320 ms 12 209.85.254.118 35.299 ms 209.85.254.114 35.388 ms 209.85.254.112 34.923 ms 13 * * * 14 8.8.8.8 34.989 ms 34.808 ms 34.860 ms
Es pot comprovar com ara el meu client va per la xarxa 172.26.1.1, que és la gateway que he afegit al servidor.