web-dev-qa-db-fra.com

Référencement de venet0: 0 et venet0: 1 dans iptables sur OpenVZ

J'ai un vps Ubuntu qui est hébergé avec openvz. Depuis un moment, j'ai du mal à utiliser les noms d'interface dans iptables, tels que: (édité)

 -A INPUT -i venet0:0 -p tcp -m tcp --dport 80 -j ACCEPT

Le problème est qu'iptables ne semble pas comprendre ce qu'est venet0: 0. J'ai aussi une configuration réseau plutôt étrange. Sortie de ifconfig -a

 gre0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-20-4A-00-00-00-00-00-00-00-00  
     NOARP  MTU:1476  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 gretap0   Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
     BROADCAST MULTICAST  MTU:1476  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 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:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0 
    RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
    inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
    UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
    RX packets:44859 errors:0 dropped:0 overruns:0 frame:0
    TX packets:37950 errors:0 dropped:103 overruns:0 carrier:0
    collisions:0 txqueuelen:0 
    RX bytes:9472928 (9.0 MiB)  TX bytes:8953521 (8.5 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
    inet addr:xx.xx.xx.xx  P-t-P:xx.xx.xx.xx  Bcast:xx.xx.xx.xx  Mask:255.255.255.255
    UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
     inet addr:xy.xy.xy.xy  P-t-P:xy.xy.xy.xy  Bcast:xy.xy.xy.xy  Mask:255.255.255.255
     UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

J'ai envoyé un courrier électronique à mon fournisseur vps pour lui demander comment attribuer des interfaces telles que eth0 et eth1 pour le référencement d'interface iptables. Ils m'ont répondu que cela n'était pas possible, mais que les interfaces venet pouvaient être utilisées En tant que tel. Cependant, lorsque j'essaie de les utiliser, rien ne se passe.

Je sais qu'il doit y avoir quelque chose que je fais mal ou que je ne comprends pas. Je ne comprends pas non plus ce que sont les interfaces gre0 et gretap0, ni à quoi servent-elles. Des idées?

1
Chev_603

Vous ne pouvez pas spécifier un nom d'interface avec alias avec iptables, seulement un nom d'interface réel. L'astuce consiste à ajouter l'adresse IP de destination comme condition supplémentaire. De plus, vous n'avez pas besoin de la partie -m tcp. Ainsi, si vous souhaitez accepter le trafic sur le port 80 sur les deux interfaces avec alias, les règles sont les suivantes:

-A INPUT -i venet0 -d xx.xx.xx.xx -p tcp --dport 80 -j ACCEPT
-A INPUT -i venet0 -d xy.xy.xy.xy -p tcp --dport 80 -j ACCEPT
3
Doug Smythies