J'aimerais que les machines du LAN soient accessibles par eth0:x.
Le trafic en provenance du serveur 2 doit être routé par eth3.
ssh répond sur eth0 et eth3. Tout le trafic généré localement par
Serveur 1 routé par défaut par eth3.
J'ai presque réussi... Il me manque le routage par défaut du trafic
généré localement par eth3. Mon script de configuration est le
suivant :
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# liens entre Serveur 1 et Serveur 2
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
# Passerelle pour Serveur2
iptables -A FORWARD -i eth1 -o eth3 -p tcp -m tcp --dport domain -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth3 -j MASQUERADE
route add default gw 213.215.42.65 dev eth0
ip rule add from 213.215.42.69 lookup local_traffic priority 101
ip rule add fwmark 1 table local_traffic priority 102
ip route add default via 213.215.42.65 dev eth3 table local_traffic
ip route flush cache
# Tentative pour router le trafic local par eth3 (route par défaut sur
# eth0)
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -jMARK --set-mark 1
iptables -t mangle -A OUTPUT -s 213.215.42.70 -jRETURN
iptables -t mangle -A OUTPUT -jMARK --set-mark 1
J'ai l'impression que mon problème se situe au niveau des deux
dernières lignes, mais je ne trouve pas... Des idées ?
Cordialement,
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
J'aimerais que les machines du LAN soient accessibles par eth0:x. Le trafic en provenance du serveur 2 doit être routé par eth3. ssh répond sur eth0 et eth3. Tout le trafic généré localement par Serveur 1 routé par défaut par eth3.
J'ai presque réussi... Il me manque le routage par défaut du trafic généré localement par eth3. Mon script de configuration est le suivant :
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -p icmp -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
# liens entre Serveur 1 et Serveur 2 iptables -A INPUT -i eth1 -j ACCEPT iptables -A OUTPUT -o eth1 -j ACCEPT
# Passerelle pour Serveur2 iptables -A FORWARD -i eth1 -o eth3 -p tcp -m tcp --dport domain -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth3 -j MASQUERADE
route add default gw 213.215.42.65 dev eth0 ip rule add from 213.215.42.69 lookup local_traffic priority 101 ip rule add fwmark 1 table local_traffic priority 102 ip route add default via 213.215.42.65 dev eth3 table local_traffic ip route flush cache
# Tentative pour router le trafic local par eth3 (route par défaut sur # eth0) iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -jMARK --set-mark 1 iptables -t mangle -A OUTPUT -s 213.215.42.70 -jRETURN iptables -t mangle -A OUTPUT -jMARK --set-mark 1
J'ai l'impression que mon problème se situe au niveau des deux dernières lignes, mais je ne trouve pas... Des idées ?
On avance, on avance... J'ai remplacé les trois dernières lignes par :
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 1 iptables -t mangle -A OUTPUT -d 192.168.0.0/24 -j RETURN iptables -t mangle -A OUTPUT -d 192.168.1.0/24 -j RETURN iptables -t mangle -A OUTPUT -s 213.215.42.70 -j RETURN iptables -t mangle -A OUTPUT -j MARK --set-mark 1
Lorsque je lance une résolution de nom (par exemple), je vois bien que les chaînes me marquent les paquets générés localement. J'aimerais savoir où ces paquets passent, parce qu'un tcpdump sur eth3 ne montre rien ! Si j'ouvre les ports sur eth0, je m'aperçois que tout passe par eth0 ! Ce que je ne comprends pas bien, c'est que si je vire les cibles RETURN, les paquets à destination du réseau local n'arrivent plus à destination, preuve que la dernière règle fait bien quelque chose...
En un mot comme en cent... AU SECOURS ! ;-)
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 08-10-2007, à propos de
[Linux] Deux accès WAN,
JKB écrivait dans fr.comp.reseaux.ip :
J'aimerais que les machines du LAN soient accessibles par eth0:x.
Le trafic en provenance du serveur 2 doit être routé par eth3.
ssh répond sur eth0 et eth3. Tout le trafic généré localement par
Serveur 1 routé par défaut par eth3.
J'ai presque réussi... Il me manque le routage par défaut du trafic
généré localement par eth3. Mon script de configuration est le
suivant :
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# liens entre Serveur 1 et Serveur 2
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
# Passerelle pour Serveur2
iptables -A FORWARD -i eth1 -o eth3 -p tcp -m tcp --dport domain -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth3 -j MASQUERADE
route add default gw 213.215.42.65 dev eth0
ip rule add from 213.215.42.69 lookup local_traffic priority 101
ip rule add fwmark 1 table local_traffic priority 102
ip route add default via 213.215.42.65 dev eth3 table local_traffic
ip route flush cache
# Tentative pour router le trafic local par eth3 (route par défaut sur
# eth0)
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -jMARK --set-mark 1
iptables -t mangle -A OUTPUT -s 213.215.42.70 -jRETURN
iptables -t mangle -A OUTPUT -jMARK --set-mark 1
J'ai l'impression que mon problème se situe au niveau des deux
dernières lignes, mais je ne trouve pas... Des idées ?
On avance, on avance... J'ai remplacé les trois dernières lignes par :
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -d 192.168.0.0/24 -j RETURN
iptables -t mangle -A OUTPUT -d 192.168.1.0/24 -j RETURN
iptables -t mangle -A OUTPUT -s 213.215.42.70 -j RETURN
iptables -t mangle -A OUTPUT -j MARK --set-mark 1
Lorsque je lance une résolution de nom (par exemple), je vois bien
que les chaînes me marquent les paquets générés localement.
J'aimerais savoir où ces paquets passent, parce qu'un tcpdump sur
eth3 ne montre rien ! Si j'ouvre les ports sur eth0, je m'aperçois
que tout passe par eth0 ! Ce que je ne comprends pas bien, c'est que
si je vire les cibles RETURN, les paquets à destination du réseau
local n'arrivent plus à destination, preuve que la dernière règle
fait bien quelque chose...
En un mot comme en cent... AU SECOURS ! ;-)
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
J'aimerais que les machines du LAN soient accessibles par eth0:x. Le trafic en provenance du serveur 2 doit être routé par eth3. ssh répond sur eth0 et eth3. Tout le trafic généré localement par Serveur 1 routé par défaut par eth3.
J'ai presque réussi... Il me manque le routage par défaut du trafic généré localement par eth3. Mon script de configuration est le suivant :
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -p icmp -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
# liens entre Serveur 1 et Serveur 2 iptables -A INPUT -i eth1 -j ACCEPT iptables -A OUTPUT -o eth1 -j ACCEPT
# Passerelle pour Serveur2 iptables -A FORWARD -i eth1 -o eth3 -p tcp -m tcp --dport domain -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth3 -j MASQUERADE
route add default gw 213.215.42.65 dev eth0 ip rule add from 213.215.42.69 lookup local_traffic priority 101 ip rule add fwmark 1 table local_traffic priority 102 ip route add default via 213.215.42.65 dev eth3 table local_traffic ip route flush cache
# Tentative pour router le trafic local par eth3 (route par défaut sur # eth0) iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -jMARK --set-mark 1 iptables -t mangle -A OUTPUT -s 213.215.42.70 -jRETURN iptables -t mangle -A OUTPUT -jMARK --set-mark 1
J'ai l'impression que mon problème se situe au niveau des deux dernières lignes, mais je ne trouve pas... Des idées ?
On avance, on avance... J'ai remplacé les trois dernières lignes par :
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK --set-mark 1 iptables -t mangle -A OUTPUT -d 192.168.0.0/24 -j RETURN iptables -t mangle -A OUTPUT -d 192.168.1.0/24 -j RETURN iptables -t mangle -A OUTPUT -s 213.215.42.70 -j RETURN iptables -t mangle -A OUTPUT -j MARK --set-mark 1
Lorsque je lance une résolution de nom (par exemple), je vois bien que les chaînes me marquent les paquets générés localement. J'aimerais savoir où ces paquets passent, parce qu'un tcpdump sur eth3 ne montre rien ! Si j'ouvre les ports sur eth0, je m'aperçois que tout passe par eth0 ! Ce que je ne comprends pas bien, c'est que si je vire les cibles RETURN, les paquets à destination du réseau local n'arrivent plus à destination, preuve que la dernière règle fait bien quelque chose...
En un mot comme en cent... AU SECOURS ! ;-)
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.