nat в ubuntu server . Раздаём интернет в сеть

После установки ubuntu server и подключения её к интернету, хочется дать интернет всем остальным компьютерам в сети. Раздавать интернет будем с помощью простого NAT.
Интерфейс, который смотрит в локальную сеть у меня eth1 (ip 10.36.1.7).
Напомню, настройки интерфейса у меня такие:
auto eth1
iface eth1 inet static
address 10.36.1.7
netmask 255.255.255.0
network 10.36.1.0
broadcast 10.36.1.255
dns-nameservers 8.8.8.8 8.8.4.4

Приступим к настройкам раздачи интернета. Дописываем строку в наш уже полюбившийся /etc/network/interfaces в конце:
post-up /etc/nat

А теперь отредактируем этот самый /etc/nat
sudo nano /etc/nat

Для начала самый простой конфиг, который открывает всё и даёт интернет в сеть по nat. Вписываем:
#!/bin/bash

#Включаем форвардинг пакетов (обязательно !!! )
echo «1» > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_nat_pptp

# Очищаем все правила
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Разрешаем сразу всё
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT

# Разрешаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i ppp0 -o eth1 -j ACCEPT

# Маскарадинг
iptables -t nat -A POSTROUTING -o ppp0 -s 10.36.1.7/24 -j MASQUERADE

Сохраняем, закрываем.

Примечание:
1) Предвкушаю шуршания, по поводу не правильного решения открывать всё наружу.
2) У меня конфиг немного другой, потому что и физических интерфейсов у меня больше, и запрещающих правил тоже больше, но правила выше должны быть рабочими. Нужно лишь сверить свои интерфейсы. У меня:
ppp0 — соединение с интернетом, которое устанавливается через pppoe
eth1 — интерфейс смотрящий в локальную сеть

Сохраняем. Закрываем.
Выполняем:
sudo chmod 0777 /etc/nat
sudo chmod +x /etc/nat

Перегружаем сервер:
sudo reboot

На клиентских ПК настраиваем сетевое подключение, то есть даём клиентскому компьютеру ip адрес из той же сети, что и наш сервер, указываем маску такую же, как на сервере, шлюзом указываем ip адрес нашего сервера и в качестве dns серверов, можно указать 8.8.8.8 и 8.8.4.4
Проверяем интернет на клиенте. Должно работать.
На этом пока всё. Позже настроим автоматическую выдачу адресов клиентским устройствам с помощью dhcp.

Добавить комментарий