Article ID: 746, created on Jun 4, 2010, last review on Aug 12, 2014

  • Applies to:
  • Virtuozzo
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor

Решение

Эта статья рассказывает, как настроить брандмауэр на базе iptables в контейнере.

Прежде всего нужно загрузить необходимые модули на самом сервере. Это можно сделать средствами операционной системы или с помощью службы Parallels Virtuozzo Containers:

  • Загрузка модулей средствами ОС:

    Чтобы нужные вам модули загружались при запуске сервера, необходимо внести изменения в конфигурационный файл iptables.

    • На серверах с RHEL-системами: откройте файл /etc/sysconfig/iptables-config в текстовом редакторе и внесите нужные изменения в параметр IPTABLES_MODULES.
    • На серверах с SUSE-системами: откройте и отредактируйте файл /etc/sysconfig/SuSEfirewall2 (например, с помощью инструмента YaST2).

    Пример: Чтобы включить модули ip_conntrack_netbios_ns, ip_conntrack и ip_conntrack_ftp в Red Hat Linux Enterprise 5, откройте файл /etc/sysconfig/iptables-config и присвойте параметру IPTABLES_MODULE следующее значение:

        IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack ip_conntrack_ftp"
    

    Изменения вступят в силу после перезагрузки физического сервера.

  • Загрузка модулей с помощью службы PVC:

    Чтобы нужные вам модули загружались при запуске службы vz, необходимо внести изменения в файл vz.conf. Откройте файл /etc/vz/vz.conf и измените значение параметра IPTABLES:

        IPTABLES="ipt_REJECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp"
    

    ВНИМАНИЕ. Значение параметра IPTABLES должно быть указано одной строкой - без переносов. Изменения вступят в силу после перезапуска службы vz (при ее перезапуске также перезапускаются контейнеры).

Данные модули будут доступны всем контейнерам.

Чтобы включить только определенные модули iptables и заблокировать все остальные (даже те, которые уже загружены на сервере), выполните команду vzctl с параметром --iptables.

Пример: Чтобы включить только модули ip_table, iptable_filter, ip_conntrack, iptable_nat и iptable_mangle и заблокировать все остальные, выполните следующую команду:

    ~# vzctl set 101 --save --iptables ip_table --iptables iptable_filter --iptables ip_conntrack --iptables iptable_nat --iptables iptable_mangle

Эти изменения вступят в силу после перезапуска контейнера.

Для добавления дополнительных правил iptables может потребоваться увеличить значение параметра numiptent:

    ~# vzctl set 101 --save --numiptent 400

Дополнительную информацию смотрите в руководстве Parallels Virtuozzo Containers for Linux User's Guide, страница 317.

d02f9caf3e11b191a38179103495106f e8e50b42231236b82df27684e7ec0beb 2897d76d56d2010f4e3a28f864d69223 a26b38f94253cdfbf1028d72cf3a498b 0dd5b9380c7d4884d77587f3eb0fa8ef

Email subscription for changes to this article
Save as PDF