LINUX.ORG.RU

Настройка iptabales на VPS (OpenVZ)


1

1

Доброва времени всем,
помогите (подскажите) как правильно настроить iptables на VPS (OpenVZ).
Я арендовал vps на openvz и пытаюсь сделать простую вещь запретить все входящие пакеты снаружи , кроме 22 и 80 порта.
Вопрос как это сделать,
Пытаюсь использовать вот такой скрипт, но происходит следующее: запрещаются все исходящие соединения.

iptables -F
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Allow
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22  -j  ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT


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
          collisions:0 txqueuelen:0
          RX bytes:922143785 (879.4 MiB)  TX bytes:922143785 (879.4 MiB)

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.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          collisions:0 txqueuelen:0
          RX bytes:37426636 (35.6 MiB)  TX bytes:277627159 (264.7 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:123.105.240.29  P-t-P:193.105.240.29  Bcast:193.105.240.29  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:125.226.218.125  P-t-P:125.226.218.125  Bcast:125.226.218.125  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
venet0:2  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:125.226.218.126  P-t-P:125.226.218.126  Bcast:125.226.218.126  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1


net.ipv4.ip_forward = 1
net.ipv4.tcp_syncookies = 1

Как быть, куда смотреть? Спасибо!

Как быть, куда смотреть?

Переползать на Xen.

anonymous ()

А при чём тут openvz ? Правило может не сработать, если соответствующий модуль не подгружен в хост-системе, но это видно по ругани и по тому, что оно по iptables -L не показывается потом.

AS ★★★★★ ()
Ответ на: комментарий от AS

iptables -L показывает всё, как можно проверить что не загружен модуль (и какой)?

Почему я грешу на OpenVZ, как я понимаю venet0:0 это `алиасы` к venet0. И весь трафик проходит через venet0.

sublimity ()
Ответ на: комментарий от sublimity

> iptables -L показывает всё, как можно проверить что не загружен модуль (и какой)?

Раз правила есть, значит загружено, всё, что надо.

И весь трафик проходит через venet0.

Ну так привязки к интерфейсам-то нет... Кроме того, как я смотрю, запрещающих правил на FORWARD и OUTPUT нет. Они для создания путаницы ? Но, вообще, должно бы работать за счёт

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

iptables -nvL можно поизучать на тему, в какой счётчик пакеты попадают.

AS ★★★★★ ()

Открой вторую консоль и там смотри какие правила у тебя срабатывают

watch -n 1 iptables-save -c

Вообще, если хочешь нормально использовать все правила iptables используй только XEN VPS. В твоем конкретном случае, конечно нужно напрячь, техподдержку с вопросом «Какого х.. работает не так как надо?».

На OpenVZ мне так и не удалось нормально настроить teql и bonding модули, статистические модули тоже работали не пойми как (Техподдержка так и не смогла помочь). Перешёл на Xen - всё работает.

justAmoment ★★★★★ ()
26 декабря 2011 г.

Если Вы планируете, чтобы адреса 125.226.218.125 и другие ежи с ними были на VE, лучше убрать все алиасы и вообще настройки venet0. Просто для контейнеров сделайте --ipadd 125.226.218.125 и ежи с ними)

Недавно сам такое настраивал. Внешние IP контейнеров не должны быть на HN. И это логично :)

vasya_p ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.