05/12/2006 @ 15:24:16: Altar: Linux + Route
J'ai deux réseaux 192.168.0.0/24 et 10.0.0.0/24.
Une machine sous linux avec deux cartes réseaux, 10.0.0.1 et 192.168.0.1 (je sais, c'est très original).
Maintenant, comment est-ce que je dis au pc linux de router les paquets entre les deux réseaux pour que par exemple 10.0.0.2 puisse communiquer avec 192.168.0.2 ?
05/12/2006 @ 15:35:44: blietaer: Linux + Route
- #!/bin/sh
- 2
- 3 # where iptables binary lies
- 4 IPTABLES=/sbin/iptables
- 5
- 6 # Devices
- 7 dev_intra="eth0" # device for Intranet
- 8 dev_inter="eth1" # device for ADSL
- 9 intranet="10.0.0.0/24"
- 10 any="0.0.0.0/0"
- 11
- 12 case "$1" in
- 13 start)
- 14 echo -n "Starting Gateway !!"
- 15
- 16 # Setting up Forwarding
- 17 echo 1 > /proc/sys/net/ipv4/ip_forward
- 18
- 19 # Setting up IP spoofing protection
- 20 if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
- 21 then
- 22 for f in /proc/sys/net/ipv4/conf
- 23 do
- 24 # echo 1 > $f
- 25 done
- 26 fi
- 27
- 28
- 29 # Flush all
- 30 $IPTABLES -F
- 31 $IPTABLES -X
- 32
- 33 # Deny all by default
- 34 $IPTABLES -P INPUT DROP
- 35 $IPTABLES -P OUTPUT DROP
- 36 $IPTABLES -P FORWARD DROP
- 37
- 38 KEEPSTATE=" -m state --state ESTABLISHED,RELATED"
- 39
- 40
- 41 # accept anything on localhost device
- 42 $IPTABLES -A INPUT -j ACCEPT -p ALL -i lo
- 43 $IPTABLES -A OUTPUT -j ACCEPT -p ALL -o lo
- 44
- 45 # accept anything IntraNet if from IntraNet device
- 46 $IPTABLES -A INPUT -j ACCEPT -p ALL -i $dev_intra
- 47 $IPTABLES -A OUTPUT -j ACCEPT -p ALL -o $dev_intra
- 48
- 49 # Redirectly transparently to Squid WWW requests (you have to setup a
- 50 #proxy (Squid for example) listeting on this IP & port)
- 51 #$IPTABLES -t nat -A PREROUTING -i $dev_intra -p TCP -j DNAT \
- 52 # --dport 80 --to-destination $firewall_intranet:8080
- 53
- 54 # Activate Forwarding
- 55 $IPTABLES -A FORWARD -j ACCEPT -i $dev_intra -o $dev_inter -s $intranet
- 56 $IPTABLES -A FORWARD -j ACCEPT -o $dev_intra -i $dev_inter -s $any
- 57
- 58 # and masquerade IntraNet to Internet with Firewall Internet IP.
- 59 $IPTABLES -t nat -A POSTROUTING -o $dev_inter -j MASQUERADE
- 60
- 61 # activate established mode on all protocols (statefull inspection*/
05/12/2006 @ 15:36:06: ovh: Linux + Route
Essaie avec iptables ?
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -j ACCEPT
blibli> euh le but n'est pas de faire une gateway pour internet, et je ne sais pas s'il est nécessaire de masquerader les adresses ici ?
05/12/2006 @ 15:47:41: Altar: Linux + Route
ovh > J'ai déjà essayé mais ça ne veut pas
05/12/2006 @ 16:01:50: rfr: Linux + Route
Pourtant c'est comme ça que ça marche si la machine linux est gateway pour le réseau ...
Fait nous un peu un
route -n et un ifconfig ?
05/12/2006 @ 16:16:12: Altar: Linux + Route
root@epsilon:~# ifconfig
ath0 Link encap:Ethernet HWaddr 00:17:9A:7C:71:9B
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::217:9aff:fe7c:719b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:2290 Metric:1
RX packets:18453 errors:0 dropped:0 overruns:0 frame:0
TX packets:15409 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2184748 (2.0 MiB) TX bytes:7310719 (6.9 MiB)
eth0 Link encap:Ethernet HWaddr 00:50:8D:E5:A4:F4
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:8dff:fee5:a4f4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18387 errors:0 dropped:0 overruns:0 frame:0
TX packets:37306 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10199900 (9.7 MiB) TX bytes:34175668 (32.5 MiB)
Interrupt:193 Base address:0xb000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:46915 errors:0 dropped:0 overruns:0 frame:0
TX packets:46915 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9401079 (8.9 MiB) TX bytes:9401079 (8.9 MiB)
wifi0 Link encap:UNSPEC HWaddr 00-17-9A-7C-71-9B-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19289 errors:0 dropped:0 overruns:0 frame:742
TX packets:16248 errors:3 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:199
RX bytes:2878519 (2.7 MiB) TX bytes:8048248 (7.6 MiB)
Interrupt:185 Memory:f8980000-f8990000
root@epsilon:~# cat /proc/sys/net/ipv4/ip_forward
1
root@epsilon:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ath0
0.0.0.0 10.0.0.138 0.0.0.0 UG 0 0 0 eth0
Qu'est-ce que j'ai oublié docteur ?
05/12/2006 @ 16:22:05: blietaer: Linux + Route
blibli> euh le but n'est pas de faire une gateway pour internet, et je ne sais pas s'il est nécessaire de masquerader les adresses ici ?
ouarf! j'y ai été un peu à la tronçoneuse...
(pardon altar
)
05/12/2006 @ 16:23:41: Altar: Linux + Route
Je crois avoir trouver le problème, j'essaye et je vous dit quoi
05/12/2006 @ 16:29:50: ovh: Linux + Route
Suspense, angoisse, tout ça
Le prob je pense est que ton 2e LAN est dans la même plage que le mini réseau vers le speedtouch
05/12/2006 @ 16:32:06: Altar: Linux + Route
Ca marche
Merci rfr pour m'avoir mis la puce à l'oreille.
En fait, sur mon routeur, je n'avais pas défini de route pour le réseau 192.168.0.0 donc il renvoyait ses réponses vers la gateway (à savoir le réseau de latribu)
05/12/2006 @ 16:33:59: Altar: Linux + Route
C'est un zyxell et pas un speedtouch d'abord
Tiens que faut-il changer pour qu'après un réboot la valeur de ip_forward reste à 1 ? Je pourrais mettre un script au démarrage mais c'est pas propre toussa
05/12/2006 @ 16:35:32: ovh: Linux + Route
Zyxel avec un seul L
Et pourquoi tu lui as mis la même ip traditionnelle que les speedtouch ?
Ou alors j'ai rien compris et dans ce cas un p'tit schéma réseau aiderait à piger
05/12/2006 @ 16:39:47: rfr: Linux + Route
C'est un zyxell et pas un speedtouch d'abord
Tiens que faut-il changer pour qu'après un réboot la valeur de ip_forward reste à 1 ? Je pourrais mettre un script au démarrage mais c'est pas propre toussa
dans /etc/sysctl.conf:
net.ipv4.ip_forward = 1
05/12/2006 @ 16:40:59: Altar: Linux + Route
Question d'habitude
Pour le réseau, tu as très bien deviné
routeur zyxel ==> lan (10.0.0.0/24) ==> wifi gateway (10.0.0.1/192.168.0.1) ==> wlan (192.168.0.0/24)
Bon maintenant, comment dire aux windows, qu'il faut directement passer par 10.0.0.1 pour le réseau 192.168.0.0. Sous linux c'est facile
05/12/2006 @ 16:41:06: rfr: Linux + Route
Zyxel avec un seul L
Et pourquoi tu lui as mis la même ip traditionnelle que les speedtouch ?
Ou alors j'ai rien compris et dans ce cas un p'tit schéma réseau aiderait à piger
J'ai exactement la même config ... sauf que le router c'est un monowall
Mais bon, héritage du passé, mon router à toujours eu l'adresse 10.0.0.138 à cause de mes anciens speedtouch.
05/12/2006 @ 16:42:42: Altar: Linux + Route
rfr > Je dois ajouter ta ligne ou alors est-ce que je dois décommenter celle-ci ?
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.conf.default.forwarding=1
05/12/2006 @ 16:43:03: rfr: Linux + Route
Question d'habitude
Pour le réseau, tu as très bien deviné
routeur zyxel ==> lan (10.0.0.0/24) ==> wifi gateway (10.0.0.1/192.168.0.1) ==> wlan (192.168.0.0/24)
Bon maintenant, comment dire aux windows, qu'il faut directement passer par 10.0.0.1 pour le réseau 192.168.0.0. Sous linux c'est facile
sous windows:
route -p add 192.168.0.0 mask 255.255.255.0 10.0.0.1 metric 1
05/12/2006 @ 16:43:43: Altar: Linux + Route
rfr > merci
05/12/2006 @ 16:43:45: rfr: Linux + Route
rfr > Je dois ajouter ta ligne ou alors est-ce que je dois décommenter celle-ci ?
C'est pareil
05/12/2006 @ 16:47:49: Altar: Linux + Route
Heu dernières questions et après j'ai fini
- Pour windows, je dois ajouter cette ligne qqpart pour qu'elle survive à un reboot ?
- Un moyen de propager cette route dynamiquement ? A partir d'un serveur dhcp ou autre ?
P.S. Ah we
On passe quand même 5ms de moyenne à 1 ms de moyenne.