1 votes

Rendre les hôtes accessibles entre les sous-réseaux du réseau local

J'ai deux interfaces sur mon routeur avec le firmware tomate : br0 et vlan4. br0 est sur le sous-réseau 192.168.0.0/16 et vlan4 sur le sous-réseau 10.0.1.0/24. Comme je ne veux pas que les différents services réseau sur br0 soient disponibles sur vlan4, j'ai ajouté cette règle de firewall :

iptables -I INPUT -i vlan4 -j ACCEPT;
iptables -I FORWARD -i vlan4 -o vlan2 -m state --state NEW -j ACCEPT;
iptables -I FORWARD -i br0 -o vlan4 -j DROP;

vlan2 est mon WAN (accès internet).

Le problème que je souhaite résoudre est que je veux rendre un hôte du réseau 192.168.0.0/16 (br0), qui a l'ip 192.168.0.50, disponible sur le vlan4 (10.0.1.0/24). Seul cet hôte doit être disponible sur le vlan4 (et tous les autres hôtes sur br0 doivent être inaccessibles). Quelles règles de pare-feu peuvent être utilisées pour y parvenir ?

Editer 1 :

Sortie de iptables -nvL FORWARD :

Chain FORWARD (policy DROP 4 packets, 204 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  vlan4  192.168.0.50  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  vlan4  ppp0    0.0.0.0/0            0.0.0.0/0           state NEW 
  229 13483 ACCEPT     all  --  vlan4  vlan2   0.0.0.0/0            0.0.0.0/0           state NEW 
    0     0 DROP       all  --  br0    vlan3   0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  vlan3  ppp0    0.0.0.0/0            0.0.0.0/0           state NEW 
   67  3405 ACCEPT     all  --  vlan3  vlan2   0.0.0.0/0            0.0.0.0/0           state NEW    
    0     0 ACCEPT     all  --  br0    br0     0.0.0.0/0            0.0.0.0/0           
   34  1360 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID 
  758 40580 TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU 
11781 2111K restrict   all  --  *      vlan2   0.0.0.0/0            0.0.0.0/0           
26837   19M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    0     0 wanin      all  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           
  287 15927 wanout     all  --  *      vlan2   0.0.0.0/0            0.0.0.0/0           
  283 15723 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
    0     0 upnp       all  --  vlan2  *       0.0.0.0/0            0.0.0.0/0  

Sortie de iptables -t nat -nvL PREROUTING :

Chain PREROUTING (policy ACCEPT 6887 packets, 526K bytes)
 pkts bytes target     prot opt in     out     source               destination         
  855 83626 WANPREROUTING  all  --  *      *       0.0.0.0/0            222.228.137.210     
    0     0 DROP       all  --  vlan2  *       0.0.0.0/0            192.168.0.0/16      
    0     0 DNAT       udp  --  *      *       192.168.0.0/16      !192.168.0.0/16      udp dpt:53 to:192.168.0.1 

La sortie de ip route show :

222.228.137.209 dev vlan2  scope link
222.228.137.208/29 dev vlan2  proto kernel  scope link  src 222.228.137.210
10.0.0.0/24 dev vlan3  proto kernel  scope link  src 10.0.0.1
10.0.1.0/24 dev vlan4  proto kernel  scope link  src 10.0.1.1
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.252
192.168.0.0/16 dev br0  proto kernel  scope link  src 192.168.0.1
127.0.0.0/8 dev lo  scope link
default via 222.228.137.209 dev vlan2

1voto

Neobyte Points 3167

iptables -I FORWARD -i vl 192.168.0.50 -j ACCEPT

Placez-la avant la dernière règle de votre question initiale.

Je suppose que vous avez également fait quelque chose de ce genre :

echo 1 > /proc/sys/net/ipv4/ip_forward

pour activer le transfert en général sur votre système.

1voto

Andriyev Points 9238

Il suffit d'ajouter

iptables -I FORWARD -s 192.168.0.50 -o vlan4 -j ACCEPT

avant la troisième règle que vous avez énumérée (la chute)

1voto

cyphun Points 53

iptables -I FORWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X