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

23 августа 2009
Рубрика: Заметки

Dedsy

Недавно столкнулся с проблемой настройки маршрутизатора на базе 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

Перезагружаем сервер. Итак сервер готов к работе.

Похожие записи: