Ссылки на venet0: 0 и venet0: 1 в iptables на OpenVZ

У меня есть Ubuntu vps, который размещен на openvz. Некоторое время у меня были проблемы с использованием имен интерфейсов в iptables, таких как: (отредактировано)

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

Проблема в том, что iptables не понимает, что такое venet0: 0. У меня также есть довольно странная конфигурация сети. Вывод 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

Я отправил электронное письмо своему провайдеру VPS и спросил, как назначить интерфейсы, такие как eth0 и eth1 для ссылок на интерфейсы iptables, и они ответили, что это невозможно, но это venet интерфейсы могут быть использованы как таковые. Однако, когда я пытаюсь их использовать, ничего не происходит.

1111 Я знаю, что должно быть что-то, что я делаю неправильно или не понимаю. Я также не понимаю, что такое интерфейсы gre0 и gretap0 или для чего они нужны. Есть идеи?

1
задан 19 April 2015 в 21:34

1 ответ

Вы не можете указать искаженное имя интерфейса с iptables, только фактическое имя интерфейса. Прием должен добавить целевой IP-адрес как дополнительное условие. Также Вам не нужно -m tcp часть. Таким образом, если бы Вы хотели принять, что трафик портирует 80 в обоих искаженных интерфейсах, то правила были бы:

-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
ответ дан 20 April 2015 в 07:34

Другие вопросы по тегам:

Похожие вопросы: