В данной статье расскажу как очень легко и быстро настроить NAT на Linux.

Мне нужно было очень быстро настроить NAT на машине. Раньше там стояла XP с Kerio, но это один из худших вариантов когда есть диск с Ubuntu и инет, ну + пару рук.

У нас есть сеть, вот ее архитектура:

НАТ своими руками

В этой сети наш DNS раздает интернет через VPN, в данном случае на 10.168.0.45 у которого 3 сетевых карты, а мы хоти его разделить еще на свою подсеть. К примеру чтоб платить меньше ;)
Допустим у нас уже стоит линукс(взятая нами Kubuntu).

Настраиваем свой VPN на линуксе, настройки должен предоставить ваш провайдер сети, вы имеете требовать :)
Ну а если нету, то в ставим pptp-linux и читаем по нему мануал и настраиваем, там все довольно просто.

вот мой файлик маршрутов, который запускается при старте системы

#!/bin/sh

iptables -A FORWARD -d 1.0.0.2 -j ACCEPT
iptables -A FORWARD -s 1.0.0.2 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s 1.0.0.2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp1 -s 1.0.0.2 -j MASQUERADE    — это запасной вариант
iptables -t nat -A POSTROUTING -o eth0 -s 1.0.0.2 -j MASQUERADE

iptables -A FORWARD -d 2.0.0.2 -j ACCEPT
iptables -A FORWARD -s 2.0.0.2 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s 2.0.0.2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp1 -s 2.0.0.2 -j MASQUERADE    — это запасной вариант
iptables -t nat -A POSTROUTING -o eth0 -s 2.0.0.2 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward    //Обязательно, иначе не будет работать

Если вы это делали на Ubuntu, то вам останется поставить bind9 и прописать ip DNS на получающих машинах, который вы указале ip на сервере раздающей сетевой карты.

Будут вопросы пишите.