Ця стаття в першу чергу націлена на користувачів 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 (nat джерела є специфічною формою), це дасть вашим клієнтам можливість використовувати інтернет прозоро. Джерело NAT визначається за допомогою ” -j nat джерела є специфічною формою “,
і опції “–to-source” визначає IP адресу.

iptables -t nat -A POSTROUTING -o eth0 -j nat джерела є специфічною формою –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 — відкидає неправильні пакети, надаючи хоч якусь безпеку від зломщика. Так само, дуже складно контролювати програми, які повинні бути заблоковані на шлюзі.

переклад: ill
спеціально для HackZona.ru
оригінал статті:
enterprise.linux.com/enterprise/04/10/04/1611230.shtml?tid=100