webentwicklung-frage-antwort-db.com.de

Referenzierung von venet0: 0 und venet0: 1 in iptables auf OpenVZ

Ich habe ein Ubuntu-vps, das mit openvz gehostet wird. Seit einiger Zeit habe ich Probleme mit der Verwendung der Schnittstellennamen in Iptables, wie zum Beispiel: (bearbeitet)

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

Das Problem ist, iptables scheint nicht zu verstehen, was venet0: 0 ist. Ich habe auch eine ziemlich seltsame Netzwerkkonfiguration. Ausgabe von 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

Ich schickte eine E-Mail an meinen VPS-Anbieter und fragte, wie man Schnittstellen wie eth0 Und eth1 Für die Referenzierung von Iptables-Schnittstellen zuweist. Sie antworteten, dass dies nicht möglich sei, aber die venet -Schnittstellen könnte als solche verwendet werden. Wenn ich jedoch versuche, sie zu verwenden, passiert nichts.

Ich weiß, dass es etwas geben muss, das ich falsch mache oder nicht verstehe. Ich verstehe auch nicht, was die Schnittstellen gre0 Und gretap0 Sind oder wofür sie sind. Irgendwelche Ideen?

1
Chev_603

Sie können bei iptables keinen Alias-Schnittstellennamen angeben, sondern nur einen tatsächlichen Schnittstellennamen. Der Trick besteht darin, die Ziel-IP-Adresse als zusätzliche Bedingung hinzuzufügen. Außerdem benötigen Sie den Teil -m tcp Nicht. Wenn Sie also Datenverkehr an Port 80 auf beiden Alias-Schnittstellen akzeptieren möchten, lauten die Regeln:

-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