Собрал во едино все необходимое, что надо сделать на голой ubuntu 14.04.4, что бы она раздавала интернет для локалки. Всё это работает на боевой машине.
После установки настраиваем сеть: eth1 - внутренний интерфейс, eth0 - внешний
Разрешим направление пакетов:
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sudo sysctl -w net.ipv4.ip_forward="1"
Установим необходимые и удобные пакеты:
sudo apt-get install -y dnsmasq mc iptables-persistent sysv-rc-conf
Настроим фаервол не только на проброс локалки наружу, но и необходимые порты снаружи внутрь:
sudo mcedit /etc/iptables/rules.v4:
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --source [ip/mask внешние адреса для доступа] -d [ip внешнего интерфейса eth0] --dport [внешний порт] -j DNAT --to [ip внутренней машины]:[порт внутренней машины]
-A POSTROUTING -p tcp -d [ip внутренней машины] -j MASQUERADE
# 2 правила для проброса порта из-вне
-A POSTROUTING -o eth0 -j MASQUERADE
# последнее для доступа локальных клиентов наружу
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
# последние 2 правила для прохождения ответных пакетов локальным клиентам
COMMIT
sudo iptables-restore < /etc/iptables/rules.v4
sudo service ufw restart
interface=eth1
listen-address=192.168.0.1
bind-interfaces
dhcp-range=192.168.0.20,192.168.0.50,24h
dhcp-option=3,192.168.0.1 # 3 опция это шлюз, 6 опция - dhs через запятую
sudo sysv-rc-conf
sleep 5; service dnsmasq start
Добавим webmin для удобства просмотра логов и не только:
echo deb http://download.webmin.com/download/repository sarge contrib >> /etc/apt/sources.list
cd /root
wget http://www.webmin.com/jcameron-key.asc && apt-key add jcameron-key.asc && rm jcameron-key.asc && apt-get update && apt-get install -y webmin
apt-get install -y ntop
Вроде всё ))) Удачи.