![]() |
![]() |
![]() |
Вверх #1 | ||||||||||||
Пользователь
Сообщений: 40
Репутация: 10
|
![]()
В данном мануале используется уже установленная система Ubuntu Server 10.04 LTS.
Используются 2 сетевые карты eth0 и eth1, нулевая смотрит в провайдера, а первая в нашу подсеть. Используемый фаервол: iptables. Для новичков: заходим в систему под root и делаем все. 1) Нстаиваем сеть, eth0 и eth1. Открываем файл настройки сети Цитата:
Цитата:
2) Настраиваем PPPoE соединение Цитата:
3) Перезагружем сервер Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
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 Цитата:
Цитата:
Цитата:
Перезагружаем сервер. Вроде все должно работать, если есть ошибки то поправьте меня. Настройки сети для клиентских компьютеров Ваш диапазон 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/ Автор 'Acumen' Спасибо за внимание, авторские права на данную статью присуцтвуют так что НЕТ плагиату )). Последний раз редактировалось Acumen; 03.07.2010 в 03:17. |
||||||||||||
![]() |
![]() |