Я і ubuntu »- створення простого маршрутизатора на базі gnu

Створення простого маршрутизатора на базі GNU / Linux.

Нещодавно зіткнувся з проблемою настройки маршрутизатора на базі GNU / Linux, так як iptables я знаю досить погано. Отже трохи почитавши про це фаєрволі я таки знайшов кілька рядків з допомогою яких можна реалізувати вихід клієнтів через шлюз в глобальну мережу та мережу провайдера.
1.Ітак, для початку необхідно встановити GNU / Linux систему, я вибрав Ubuntu server. На цьому етапі загострювати увагу я не буду, так як ця тема добре висвітлена на багатьох ресурсах.

2.Настроіть з'єднання з локальною мережею і VPN сервером (актуально для моєї мережі, але не критично для інших типів підключення).
Бажано всі налаштування вводити безпосередньо в конфігураційні файли, для Ubuntu цей файл розташований тут. / Etc / network / interfaces


auto lo
iface lo inet loopback

auto eth1
iface eth1 inet dhcp

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0

lo - інтерфейс локального лупбека, eth1 - інтерфейс дивиться в локальну мережу провайдера (налаштовується по DHCP), eth0 - інтерфейс дивиться в вашу мережу (домашню чи корпоративну).

3. Редагуємо файл /etc/rc.local, дабавляем в нього рядки:


iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
echo 1> / proc / sys / net / ipv4 / ip_forward

Отже тут вам потрібно поміняти лише імена ваших інтерфейсів, в моєму варіанті відбувається НАТінг всієї локальної мережі провайдера і VPN в мою локальну мережу (192.168.0.0/24).

4.Ітак впринципі маршрутизатор готовий до роботи, але для поліпшення швидкодії і зручності користувачів можете налаштувати кешуючий DNS сервер bind9. Отже встановимо сам демон:


sudo apt-get install bind9

5. 5.Право файл /etc/resolv.conf і додаємо туди свої DNS


nameserver X.X.X.X
nameserver X.X.X.X

Перезавантажуємо сервер. Отже сервер готовий до роботи.