Простая установка шлюза
Эта статья в первую очередь нацелена на пользователей Linux, которые хотят установить ОС Linux в качестве шлюза в Интернет.
Это очень простое пособие и оно не вскрывает глубинных проблем установки шлюза. Здесь описывается настройка сервисов DHCP, DNS и IPTABLES.
Когда вы закончите, все, что нужно будет вашим клиентам, чтобы подключиться к сети, это воткнуть кабель в сетевую плату и включить компьютер.
Для примера я буду использовать дистрибутив Linux Red Hat 9, но эти инструкции будут также работать и на других версиях Red Hat, а так же на других версиях Linux с небольшими (или без) поправками.
Перед тем как начать, убедитесь, что вы знаете свои сетевые настройки :
1 – IP адрес, назначенный провайдером.
2 – IP адрес DNS провайдера.
Установка оборудования и Операционной Системы
Для организации шлюза вам понадобится установить 2-е сетевые карты в сервер. Первую необходимо подключить к Интернету, а вторую в локальную сеть.
Аппаратное требование минимальное : Celeron, RAM 128 и 8 Гб. диск. И конечно, если у вас что-то поновее, тем лучше для вас.
Установите выбранный вами дистрибутив на сервер, и удостоверьтесь, что установлены все серверные компоненты, включающие DNS, DHCP и IPTABLES. Вы можете установить и другие компоненты, в зависимости от того, что вы собираетесь делать со своим сервером.
Итак, операционная система установлена, убедитесь, что ваше Интернет соединение настроено в соответствии с инструкциями провайдера. Я предполагаю что ваше Интернет соединение запущенно на сетевом интерфейсе eth0 (первая сетевая карта), и вы можете просматривать Интернет с вашего сервера.
Убедитесь, что вы установили IP адрес сетевой карты для внутренней сети при помощи следующей команды, запущенной из под root’a :
ifconfig eth1 10.10.0.1 netmask 255.255.255.0
Установка DHCP
Следующим шагом, нам необходимо настроить DHCP, сервис который назначает IP адреса хостам по установленным правилам. DHCP значительно упрощает сетевое администрирование, так как вам нет необходимости настраивать сеть индивидуально для каждого хоста в сети.
Зайдите в систему как root, и отредактируйте файл /etc/dhcpd.conf включив следующее :
subnet 10.10.0.0 netmask 255.255.255.0 {
# — default gateway
option routers 10.10.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 10.10.0.255;option domain-name-servers 10.10.0.1;
range 10.10.0.2 10.10.0.254;default-lease-time 21600;
max-lease-time 43200;}
Теперь запустите DHCP сервер для сетевой карты, которая подключена в локальную сеть следующей командой :
/usr/sbin/dhcpd eth1
Убедитесь, что DHCP стартует автоматически при запуске системы.
Вы можете проверить, что DHCP работает корректно. Подключите клиента в сеть и настройки IP адреса получатся автоматически. Если IP адрес из диапазона 10.10.0.2 – 10.10.0.254 как указано директивой “RANGE”, значит все работает нормально.
Настройка DNS
Следующим настроим DNS, который отвечает за преобразования числового IP адреса как 64.233.161.99 в более читабельное имя как www.google.com. Обычно, настройка DNS сервера рассматривается как отдельное задание, и это правильно, но в нашем случае, все что вы должны сделать, это добавить несколько строк в файл /etc/named.conf
В вашем named.conf файле, внутри секции “options” вставьте :
forward first;
forwarders {
;
};
Допустим, что у моего провайдера DNS сервер имеет адрес 202.78.167.25, тогда моя конфигурация будет выглядеть как эта :
forward first;
forwarders {
202.78.167.25;
};
Запустите DNS сервер, выполнив команду “named start” из каталога /etc/init.d. Убедитесь что он стартует каждый раз при запуске системы, для этого введите команду :
chkconfig –level 345 named on
Настройка IPTABLES
IPtables- последний пакет, который нам необходимо настроить. Iptables- это фильтр пакетов для Linux. Работает как firewall, эффективно защищает вашу систему от атак из других сетей. Iptables весьма комплексная утилита, но проста в настройке. Мы сконцентрируем свое внимание на работе её в качестве шлюза в Интернет. Все пользователи сети должны иметь простой и прозрачный доступ, а так же ко всем Интернет сервисам, таким как ICQ, FTP, IRC, без дополнительной настройки.
Для начала включим IP forwarding. Сделаем это путем добавления следующей строки в /etc/sysctl.conf
net.ipv4.ip_forward = 1
Таким образом, IP forwarding будет работать при каждой загрузке системы. Для того чтобы IP forwarding заработал без перезагрузки, введите следующую команду :
echo 1 > /proc/sys/net/ipv4/ip_forward.
Теперь включим Source Network Address Translation (SNAT) , это даст вашим клиентам возможность использовать интернет прозрачно. Источник NAT определяется при помощи ” -j SNAT “,
и опции ” –to-source” определяющая IP адрес.
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 1.2.3.4
где 1.2.3.4 – это статический IP адрес назначенный вам провайдером. Если у вас нет статического IP адреса, тогда используйте команду :
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
Вы можете изменить eth0 на ppp0, если вы используете DSL (или ppp1, 2, и т.д)
И что бы дать хотя бы минимум безопасности, введем следующие команды :
iptables -A INPUT -j DROP -m state –state NEW,INVALID -i ippp0
iptables -A FORWARD -j DROP -m state –state NEW,INVALID -i ippp0
И наконец, введя следующую команду, сохраним все наши настройки :
iptables-save > /etc/sysconfig/iptables
Так как сервер полностью настроен, все, что вам осталось, это выставить клиентам использовать DHCP для получения IP адреса.
Поздравляю! Вы успешно установили шлюз. Я должен сказать, что в такой конфигурации много недостатков. Все что делает Firewall – отбрасывает неправильные пакеты, предоставляя хоть какую-то безопасность от взломщика. Так же, очень сложно контролировать программы которые должны быть заблокированы на шлюзе.

Leave a Reply