Назад | Перейти на главную страницу

Сделать Ubuntu минимальным NAT?

Мне нужно сделать быстрый и грязный NAT из коробки Ubuntu 10.10. Просто «эта сторона подключена через NAT с DHCP, раздающим 192.168.x.0 / 24» и «эта сторона шлюзы в Интернет», и больше ничего интересного. Кажется, есть много вариантов с разной степенью документации. Как это сделать проще всего?

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/10-network-security.conf
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o externaleth -j SNAT --to externalip
apt-get install dhcp3-server
gedit /etc/default/dhcp3-server
interfaces="internaleth1" #eth2 or eth3 or whatyouhave :D
gedit /etc/dhcp3/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers                  192.168.0.1; #yours itnernal ip
    option subnet-mask              255.255.255.0;

    option domain-name              "mylan.com";
    option domain-name-servers       192.168.0.1;
    range 192.168.0.2 192.168.0.254;
}

apt-get install dns-masq
service dhcp3-server restart
  1. установка нац
  2. установить dhcpd-server
  3. установите dnsmasq для обработки опций domain-name-servers 192.168.0.1; или вы можете установить его на 8.8.8.8 и пропустить установку dns-masq

На самом деле я делаю именно это - пару лет старая мини-башня HP служила маршрутизатором моей домашней сети, пока она не сгорела из-за отключения электроэнергии (аппаратное обеспечение не стоит устранять неисправность); Вскоре я буду создавать совершенно новую систему для этой же цели, так что обязательно напишу инструкции, как я это сделаю.

А пока я укажу вам на тот же ресурс, который использую я: Shorewall, и, в частности, инструкции для брандмауэр с двумя интерфейсами. В документации сайта также есть аналогичные статьи для настройки с одним и тремя интерфейсами, поэтому выберите ту, которая лучше всего соответствует вашим потребностям. Я считаю, что использование Shorewall намного проще и интуитивно понятнее, чем прямое управление iptables (Shorewall на самом деле является просто слоем конфигурации, который находится поверх iptables, поэтому конечный результат очень похож, за исключением того, что он обрабатывает много основных, низкоуровневые вещи, о которых вы даже не догадывались, например smurfs (пакеты с широковещательным адресом в качестве источника) и martians (пакеты с невозможными адресами источника)).