четверг, 4 февраля 2010 г.

Шлюз для 2-х сетевых Ubuntu

Схема такая. Сетевая eth0 тянет Интернет с роутера, eth1 - идет в локалку. В локальной сети у машинки ip 192.168.2.0

Ставим DHCP - сервер

sudo apt-get install dhcp3-server

После чего правим конфиг /etc/dhcp3/dhcp.conf я привел его вот к такому виду
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.2; #getway
option subnet-mask 255.255.255.0; #маска
option domain-name-servers 192.168.1.1; #DNS-сервера
range 192.168.2.11 192.168.2.100; # Диапазон ip адресов
default-lease-time 21600;
max-lease-time 28800;
}

затем правим файл /etc/default/dhcp3-server вписывая в него строку
INTERFACES=eth1
для того, что бы сервер «слушал» именно этот интерфейс
После чего можем запустить сервер
sudo /etc/init.d/dhcp3-server start
Для “раздачи” интернет во внутреннюю сеть используем IP маскарадинг (IPMASQUARADE)
В сокращенном виде (без комментариев и не функциональных выводов сообщений) скрипт выглядит так:
#!/bin/sh
# полная версия находится здесь: lafox.net/docs/masq/
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe
EXTIF="eth0"
INTIF="eth1"
$DEPMOD -a
$MODPROBE ip_tables
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_irc
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo -e "done.\n"

Сохраним это в файлик в /etc/profile.d и назовем его, к примеру masq.sh.
Делаем его исполняемым и выполняем
sudo chmod +x /etc/profile.d/masq.sh
sudo sh /etc/profile.d/masq.sh

После этих действий нужно «опустить» а потом снова «поднять» сетевой интерфейс eth1
sudo ifonfig eth1 down
sudo ifonfig eth1 up

После чего клиенты смогут получать IP адреса и пользоваться инетом )))

Комментариев нет:

Отправить комментарий