| В данном мануале используется уже установленная система Ubuntu Server 10.04 LTS. Используются 2 сетевые карты eth0 и eth1, нулевая смотрит в провайдера, а первая в нашу подсеть.
 Используемый фаервол: iptables.
 
 Для новичков: заходим в систему под root и делаем все.
 
 1) Нстаиваем сеть, eth0 и eth1.
 Открываем файл настройки сети
 
 
 ниже текста который там есть, вписываем:Цитата: 
 
 | ~$ nano /etc/network/interfaces |  
 
 Сохраняем и выходим из редактораЦитата: 
 
 | # Local TeNeT auto eth0
 iface eth0 inet dhcp
 
 # Local Home
 auto eth1
 iface eth1 inet static
 address 192.168.0.1
 network 192.168.0.0
 netmask 255.255.255.0
 broadcast 192.168.0.255
 |  
 2) Настраиваем PPPoE соединение
 далее делаем все пошагово вроде нечего сложного нет, вводим логин и пароль вашего интернет соединеия, а в конце нажимаем yes.
 
 3) Перезагружем сервер
 4) Проверяем наличие интернета
 Если ответы идут как написано ниже, значит интернет есть.
 
 
 5) Щитаем что у нас уже интернет работает, обновляем список репозитарийЦитата: 
 
 | PING google.com (74.125.87.105) 56(84) bytes of data. 64 bytes from hb-in-f105.1e100.net (74.125.87.105): icmp_seq=1 ttl=54 time=35.8 ms
 64 bytes from hb-in-f105.1e100.net (74.125.87.105): icmp_seq=2 ttl=54 time=35.2 ms
 64 bytes from hb-in-f105.1e100.net (74.125.87.105): icmp_seq=3 ttl=54 time=35.4 ms
 64 bytes from hb-in-f105.1e100.net (74.125.87.105): icmp_seq=4 ttl=54 time=35.9 ms
 64 bytes from hb-in-f105.1e100.net (74.125.87.105): icmp_seq=5 ttl=54 time=35.2 ms
 
 --- google.com ping statistics ---
 5 packets transmitted, 5 received, 0% packet loss, time 4005ms
 rtt min/avg/max/mdev = 35.247/35.554/35.979/0.298 ms
 |  6) Устанавливаем DNS сервер
 
 
 после установки он тут-же запуститсяЦитата: 
 
 | ~$ apt-get install dnsmasq |  
 7) Настраиваем firewall, создадим скрипт
 туда вписываем правила со своими настройками, оно представлено ниже,
 
 
 
 Сохраняем и выходим из редактораКод: #!/bin/sh
## Для удобства объявим переменные ##
# Переменные инетрнет
INET_IFACE="ppp0"
# Переменные сети eth1
LAN_IFACE_1="eth1"
LAN_IP_RANGE="192.168.0.0/24"
LAN_BROADCAST="192.168.0.255"
# Переменные lo интерфейса
LO_IFACE="lo"
LO_IP="127.0.0.1"
# Переменная чтоб постоянно не писать iptables ))
cmd="/sbin/iptables"
# Разрешаем делать транзацию между сервером
echo "1" > /proc/sys/net/ipv4/ip_forward
# Удаляем все правила
$cmd -F
$cmd -t nat -F
# Устанавливаем стндартные политики для фильтра
$cmd -P INPUT DROP
$cmd -P OUTPUT ACCEPT
$cmd -P FORWARD ACCEPT
# Устанавливаем стндартные политики для таблицы NAT
$cmd -t nat -P PREROUTING ACCEPT
$cmd -t nat -P POSTROUTING ACCEPT
$cmd -t nat -P OUTPUT ACCEPT
# Разрешаем ходить свободно пакетам на и с интерфейса lo
$cmd -A INPUT -i lo -p ALL -j ACCEPT
$cmd -A OUTPUT -o lo -p ALL -j ACCEPT
# Точно не скажу что делают эти правила, но по ходу отбрасывает все ошибочные пакеты
$cmd -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$cmd -A INPUT -m state --state INVALID -j DROP
# Правила хождения пакетов между интерфейсами
$cmd -A FORWARD -p ALL -i $LAN_IFACE_1 -j ACCEPT
$cmd -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$cmd -A FORWARD -s $LAN_IP_RANGE -i $LAN_IFACE_1 -o $INET_IFACE -j ACCEPT
# Основное правило NAT, для доступа в интернет сетевым компьютерам
$cmd -t nat -A POSTROUTING -s $LAN_IP_RANGE -j MASQUERADE
# Для того чтоб можно быо раздавать в торренте
$cmd -t nat -A PREROUTING -p tcp --dport 6888 -j DNAT --to 192.168.0.2:6888
# Разрешаем ходить пакетам между интерфесом ppp0
$cmd -A FORWARD -i ppp0 -j ACCEPT
# На всякий пожарный случай откроем 53 порт DNS сервера для нашей подсети eth1
$cmd -A INPUT -i eth1 -p UDP --dport 53 -j ACCEPT
# Также откроем все соединения с нашей подсетью
$cmd -A INPUT -p ALL -i eth1 -j ACCEPT
$cmd -A OUTPUT -p ALL -o eth1 -j ACCEPT
## Внутрение ресурсы TeNeT, прокидываем на сеть чтоб не грузить внешний трафик ##
# Сайт статистики (stats.tenet.ua)
$cmd -t nat -A POSTROUTING -o eth0 -s $LAN_IP_RANGE -d 195.138.80.24 -j MASQUERADE
# Сайт тенета (tenet.ua)
$cmd -t nat -A POSTROUTING -o eth0 -s $LAN_IP_RANGE -d 195.138.80.40 -j MASQUERADE
# Фтп архив тенета (fp.tenet.ua)
$cmd -t nat -A POSTROUTING -o eth0 -s $LAN_IP_RANGE -d 195.138.78.69 -j MASQUERADE
# Разрешаем ходить трафику между интерфейсом eth0
$cmd -A FORWARD -i eth0 -j ACCEPT
# END 
 Фаервол был написан по типу закрыто все, открыто то что нужно, для постоянно внешнего ip и для динамического.
 
 8) Даем право на запуск в системе файла firewall.sh
 
 
 9) Добавляем наш фаервол в автозагрузкуЦитата: 
 
 | ~$ chmod +x /etc/firewall.sh |  вписываем выше слова "exit 0"
 Сохраняем и выходим из редактора
 
 Перезагружаем сервер.
 
 Вроде все должно работать, если есть ошибки то поправьте меня.
 
 Настройки сети для клиентских компьютеров
 
 Ваш диапазон ip от 192.168.0.2 до 192.168.0.254
 Маска сети: 255.255.255.0
 Основной шлюз: 192.168.0.1
 Основной DNS сервер: 192.168.0.1
 
 К сведению если вы планируете подключиь более 100 компьютеров то в
качестве DNS сервера лучше использовать BIND9 или PowerDNS по ним
документации в интернете полным полно.
 
 Хотите смотреть TeNeT IP-TV тогда гугл в руки, и ключь для поиска
"igmpproxy" его надо установить и настроить, на форуме это уже
обсуждалось и не раз.
 
 P/s
 
 
Русская документация по iptables _http://www.opennet.ru/docs/RUS/iptables/ 
 
 ********************************************************* 
 про настройку dhcp в dnsmasq пару слов напиши, так вроде кошерно.
 только INET_IP="ваш внешний ip" не совсем гуд.
 я бы сразу заменил чтобы сделать универсальный скрипт для тех у кого постоянный и динамический.
 разницы никакой, ни по удобству, ни по секурности, ни по кошерности.
 
 меняем
 $cmd -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $INET_IFACE -j SNAT --to-source $INET_IP
 на
 $cmd -t nat -A POSTROUTING -s $LAN_IP_RANGE -j MASQUERADE
 
 и
 
 $cmd -t nat -A PREROUTING -p tcp -d $INET_IP --dport 6888 -j DNAT --to-destination 192.168.0.2:6888
 на
 $cmd -t nat -A PREROUTING -p tcp --dport 6888 -j DNAT --to 192.168.0.2:6888
 
 и убираем $INET_IP нафиг с пляжа
 
 ЗЫ
 
 
 лишнее, они и так по дефолту на eth0 ходят.Цитата: 
 
 | ## Внутрение ресурсы TeNeT, прокидываем на сеть чтоб не грузить внешний трафик ## |  смотри route -n
 
 ЗЫЫ
 порт торрента оставил бы по умолчанию 6881.
 так и клиент не надо перенастраивать.
 
 
 |