Создание ядра с поддержкой маскарада и форвардинга.
Первое о чем вы должны подумать, это чтобы ваше ядро было создано с поддержкой файрвола и файрволинга. Помните, что все сервера должны быть настроены на блокирование неиспользуемых портов, даже если они не выступают в роли брандмауэра. В ядре 2.2.14 вам нужно ответить Yes на следующие вопросы:
Networking options:
Network firewalls (CONFIG_FIREFALL) [N] Y
IP:Firewalling (CONFIG_IP_FIREWALL) [N] Y
IP:TCP syncookie support (CONFIG_SYN_COOKIES) [N] Y
ЗАМЕЧАНИЕ. Если при создание ядра вы использовали материалы из главы 3, то все необходимые опции (“Network firewalls, IP:Firewalling и IP:TCP syncookie support”) были отмечены.
IP маскарадинг и IP ICMP маскарадинг требуются только для шлюза.
IP:Masquerading (CONFIG_IP_MASQUERADE) [N] Y
IP:ICMP Masquerading (CONFIG_IP_MASQUERADE_ICMP) [N] Y
Маскарадинг необходим, если один из компьютеров вашей локальной сети, для которой вашей Linux сервер (или Шлюз) является брандмауэром, пытается послать пакеты в Интернет и шлюз “притворяется” этим компьютером. Другими словами, при пересылке всех пакетов из внутренней сети во внешнюю, шлюз делает вид, что все пакеты идут от него. Это работает в обе стороны, если внешний хост отвечает, то шлюз будет пересылать все пакеты во внутреннюю сеть нужному компьютеру. В результате все внутренние компьютеры полностью не видимы для внешнего мира, но при этом имеют туда доступ и могут получать оттуда ответы.
IP маскарадинг работает только если у вас включен IP форвардинг. Эта возможность по умолчанию отключена и что бы включить ее используйте следующие команды:
Под Red Hat 6.1
[root@deep /]# echo "1" > /proc/sys/net/ipv4/ip_forward
Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера. В Red Hat 6.1 это можно также сделать внеся изменения в файл “/etc/sysconfig/network”:
FORWARD_IPV4="false”
Должен читаться:
FORWARD_IPV4="yes"
Вы должны перезагрузить ваши сетевые настройки, чтобы изменения вступили в силу.
[root@deep /]# /etc/rc.d/init.d/ network restart Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]
Лично я предпочитаю второй способ включения форвардинга.
Под Red Hat 6.2:
Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:
# Enable packet forwarding
net.ipv4.ip_forward = 1
Вы должны перезагрузить ваши сетевые установки, чтобы изменения вступили в силу.
[root@deep /]# /etc/rc.d/init.d/network restart Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]
ЗАМЕЧАНИЕ. Строка IP forwarding, введенная выше, нужна только если вы ответили “Yes” на вопрос “IP:Masquerading (CONFIG_IP_MASQUERADE)” при конфигурировании ядра и решили сделать из сервера шлюз с маскарадингом для вашей внутренней сети.
Если вы включили IP Masquerading, тогда будут автоматически скомпилированы модули ip_masq_ftp.o (для обмена файлов по протоколу ftp), ip_masq_irc.o (для irc чатов), ip_masq_quake.o (догадайтесь сами для чего он), ip_masq_vdolive.o (для VDOLive видео), ip_masq_cuseeme.o (для CU-SeeMe broadcasts) и ip_masq_raudio.o (для RealAudio). Они нужны, чтобы работал маскарадинг для этих протоколов. Вам нужно будет создать модульное ядро, ответив Yes на вопрос “Enable loadable module support (CONFIG_MODULES)”, вместо монолитного, чтобы разрешить использование функции маскарадинга и модулей подобных ip_masq_ftp.o.
Основной код маскарадинга, включаемый опцией "IP: masquerading", обрабатывает только TCP или UDP пакеты (и ICMP ошибки для существующих соединений). Опция IP:ICMP Masquerading включает дополнительную поддержку для маскарадинга ICMP пакетов, таких как ping или исследований проводимых программой tracer из Windows 95.
ЗАМЕЧАНИЕ. Помните, что у других серверов, например, Веб или почтового, эти опции включать не надо, так как они имеют постоянно присвоенный им IP адрес или не выступают в роли Шлюза для внутренней сети.
Некоторые моменты для обсуждения.
Вы можете спокойно предполагать, что находитесь в постоянной опасности, если подключены к Интернет. Ваш шлюз в Интернет – основной источник тревоги, так что я рекомендую следующее: