Referenciando venet0: 0 e venet0: 1 em iptables no OpenVZ

0

Eu tenho um Ubuntu vps que é hospedado com o openvz. Por um tempo agora eu tive problemas para usar os nomes das interfaces no iptables, como: (editado)

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

O problema é que o iptables não parece entender o que venet0: 0 é. Eu também tenho uma configuração de rede bastante estranha. Saída 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

Enviei um e-mail para meu provedor vps e perguntei como atribuir interfaces como eth0 e eth1 para a referência de interface do iptables e elas responderam que não era possível, mas que as interfaces venet poderiam ser usadas como tal. No entanto, quando tento usá-los, nada acontece.

Eu sei que deve haver algo que estou fazendo errado ou não entendo. Eu também não entendo quais são as interfaces gre0 e gretap0 , ou para que servem. Alguma idéia?

    
por Chev_603 19.04.2015 / 17:34

1 resposta

2

Você não pode especificar um nome de interface com alias com iptables, apenas um nome de interface real. O truque é adicionar o endereço IP de destino como uma condição adicional. Além disso, você não precisa da parte -m tcp . Então, se você quisesse aceitar o tráfego para a porta 80 nas duas interfaces com alias, as regras seriam:

-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
    
por Doug Smythies 22.04.2015 / 08:48