Официальный форум ООО НПП  

Вернуться   Официальный форум ООО НПП "ТЕНЕТ" > Технические вопросы > Настройки операционных систем и программ

Ответ
 
Опции темы Опции просмотра
Старый 03.07.2010, 02:08 Вверх   #1
Acumen
Пользователь
 
Аватар для Acumen
 
Сообщений: 40
Репутация: 10
По умолчанию Настройка Ubuntu Server в качестве шлюза в интернет

В данном мануале используется уже установленная система 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 соединение
Цитата:
~$ pppoeconf
далее делаем все пошагово вроде нечего сложного нет, вводим логин и пароль вашего интернет соединеия, а в конце нажимаем yes.

3) Перезагружем сервер
Цитата:
~$ reboot
4) Проверяем наличие интернета
Цитата:
~$ ping google.com -c 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
5) Щитаем что у нас уже интернет работает, обновляем список репозитарий
Цитата:
~$ apt-get update
6) Устанавливаем DNS сервер
Цитата:
~$ apt-get install dnsmasq
после установки он тут-же запустится

7) Настраиваем firewall, создадим скрипт
Цитата:
~$ nano /etc/firewall.sh
туда вписываем правила со своими настройками, оно представлено ниже,

Код:
#!/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
Цитата:
~$ chmod +x /etc/firewall.sh
9) Добавляем наш фаервол в автозагрузку
Цитата:
~$ nano /etc/rc.local
вписываем выше слова "exit 0"
Цитата:
/etc/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.
Acumen вне форума   Ответить с цитированием
Старый 03.07.2010, 02:36 Вверх   #2
yurmax
Частый пользователь
 
Аватар для yurmax
 
Сообщений: 288
Репутация: 27
По умолчанию

про настройку 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 нафиг с пляжа

ЗЫ
Цитата:
## Внутрение ресурсы TeNeT, прокидываем на сеть чтоб не грузить внешний трафик ##
лишнее, они и так по дефолту на eth0 ходят.
смотри route -n

ЗЫЫ
порт торрента оставил бы по умолчанию 6881.
так и клиент не надо перенастраивать.

Последний раз редактировалось yurmax; 03.07.2010 в 02:53. Причина: зыы
yurmax вне форума   Ответить с цитированием
Старый 03.07.2010, 02:38 Вверх   #3
Acumen
Пользователь
 
Аватар для Acumen
 
Сообщений: 40
Репутация: 10
По умолчанию

Цитата:
Сообщение от yurmax Посмотреть сообщение
про настройку dhcp в dnsmasq пару слов напиши, так вроде кошерно.
dnsmasq можно вообще не трогать, он работает как локальный кеширующий сервер, по dhcp серверу позже напишу, сейчас спать ))

ах да в dnsmasq dhcp сервер встроен его только настроить надо, я уже позже кину ссылку на мануал или сам все вам разжую.

Цитата:
Сообщение от yurmax Посмотреть сообщение
ЗЫ
## Внутрение ресурсы TeNeT, прокидываем на сеть чтоб не грузить внешний трафик ##
лишнее, они и так по дефолту на eth0 ходят.
смотри route -n
Они не всегда прописываются я уже сталкивался и не один раз с данной проблемой, написал на всякий пожарный случай.

Последний раз редактировалось Acumen; 03.07.2010 в 02:46.
Acumen вне форума   Ответить с цитированием
Старый 03.07.2010, 02:57 Вверх   #4
yurmax
Частый пользователь
 
Аватар для yurmax
 
Сообщений: 288
Репутация: 27
По умолчанию

Цитата:
Сообщение от Acumen Посмотреть сообщение
dnsmasq можно вообще не трогать, он работает как локальный кеширующий сервер, по dhcp серверу позже напишу, сейчас спать ))

ах да в dnsmasq dhcp сервер встроен его только настроить надо, я уже позже кину ссылку на мануал или сам все вам разжую.


Они не всегда прописываются я уже сталкивался и не один раз с данной проблемой, написал на всякий пожарный случай.
ну там может быть проблема если тенет поменяет адреса, а у тебя жесткий роут.

я там еще дописал в посте, глянь.
yurmax вне форума   Ответить с цитированием
Старый 03.07.2010, 03:02 Вверх   #5
Acumen
Пользователь
 
Аватар для Acumen
 
Сообщений: 40
Репутация: 10
По умолчанию

Цитата:
Сообщение от yurmax Посмотреть сообщение
ну там может быть проблема если тенет поменяет адреса, а у тебя жесткий роут.

я там еще дописал в посте, глянь.
Меняют они адреса очень редко практически не меняют, а если уж на то пошло тогда можно dns имя влепить, то не проблема ))

Поправил, на заметку тоже взял, одна голова хорошо, а две еще лучше ))

Последний раз редактировалось Acumen; 03.07.2010 в 03:12.
Acumen вне форума   Ответить с цитированием
Старый 09.07.2010, 12:04 Вверх   #6
Acumen
Пользователь
 
Аватар для Acumen
 
Сообщений: 40
Репутация: 10
По умолчанию

прикрипите тему потому что написана грамотно )))
Acumen вне форума   Ответить с цитированием
Старый 28.09.2010, 04:41 Вверх   #7
Acumen
Пользователь
 
Аватар для Acumen
 
Сообщений: 40
Репутация: 10
По умолчанию

Цитата:
Сообщение от yurmax Посмотреть сообщение
про настройку dhcp в dnsmasq пару слов напиши, так вроде кошерно.
Отличная статья, вот настройка DHCP сервера перейти.

Последний раз редактировалось Acumen; 28.09.2010 в 04:44.
Acumen вне форума   Ответить с цитированием
Старый 01.10.2010, 11:52 Вверх   #8
Acumen
Пользователь
 
Аватар для Acumen
 
Сообщений: 40
Репутация: 10
По умолчанию

Ссылка у блога изменилась вот: перейти.
Acumen вне форума   Ответить с цитированием
Старый 01.02.2011, 22:37 Вверх   #9
NoPos
Новичок
 
Сообщений: 1
Репутация: 10
По умолчанию

Подскажите пожалуйста как еще убунтошлюз настроить чтобы iptv через nat на локальные компы приходило? Или это не в iptables дело?
NoPos вне форума   Ответить с цитированием
Старый 02.02.2011, 12:52 Вверх   #10
Михаил Вандышев
Пользователь
 
Сообщений: 70
Репутация: 16
По умолчанию

Цитата:
Сообщение от NoPos Посмотреть сообщение
Подскажите пожалуйста как еще убунтошлюз настроить чтобы iptv через nat на локальные компы приходило? Или это не в iptables дело?
igmpproxy запущен?
Михаил Вандышев вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.

Быстрый переход


Часовой пояс GMT +2, время: 03:27.


Powered by vBulletin®
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.