FreeBSD 8.0 NAT не раздает интернет

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
vano
проходил мимо

FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 8:42:00

Всем привет. Есть шлюз на FreeBSD 8.0 с установленным NATом, прозрычным SQUIDом и IPFW. Интернет раздается методом PPPoE. Все прекрасно работало, пока не сменил провайдера и тип подключения с DSL PPP на обычное Ethernet. Естественно, привзяла второй сетевухе новый внешний АЙПИшник, прописал шлюз, чуть подправил фаерволл и настройки в rc.conf. После этого перестал раздаваться интеренет на локалку. Интернет есть только в том случае, если жестко в настройках браузера, аськи или других программ прописать данные Прокси сервера (адрес и порт),если сквид останавливаю, то интернет ессно нету уже. Пинга с локалки в внешнюю сеть тоже нет, хотя шлюз и АЙПИшник сервера пингуются. Сам natd успешно стартует, фаервол был и открытый и закрытый, толку ноль. В ядре есть опции и IPDIVERT и IPFIREWALL. Помогиет разобраться.
Последний раз редактировалось f_andrey 2013-04-17 15:14:03, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума, если приведёте больше логов, это повысит вероятность ответов, а не флуда

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение Alvares » 2013-04-17 8:55:36

конфиги в студию, а то "чуть подправил фаерволл и настройки в rc.conf" можно по-разному сделать.
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 9:09:36

Конфиг фаера

Код: Выделить всё

re0 - внешняя сетевуха
rl0 - внутренняя сетевуха
#!/bin/sh
IPFW="/sbin/ipfw"

${IPFW} -f flush
${IPFW} -f pipe flush
${IPFW} add pipe quqeue

${IPFW} add allow ip from any to any via lo0
${IPFW} add allow ip from 192.168.1.0/24 to 192.168.1.0/24 via rl0
${IPFW} add divert natd ip from 192.168.1.0/24 to any out via re0
${IPFW} add divert natd ip from any to 89.162.211.46 in via re0
${IPFW} add allow all from any to 89.162.211.46 in via re0
${IPFW} add allow all from 89.162.211.46 to any out via re0
${IPFW} add allow all from 192.168.1.0/24 to any in via rl0
${IPFW} add allow all from any to 192.168.1.0/24 in via re0
${IPFW} add allow all from any to 192.168.1.0/24 out via rl0
${IPFW} add allow icmp from any to any
${IPFW} add deny log ip from any to any
rc.conf

Код: Выделить всё

gateway_enable="YES"
defaultrouter="89.162.211.45"
named_enable="YES"
inetd_enable="YES"
ifconfig_re0="inet 89.162.211.46 netmask 255.255.255.252"
ifconfig_rl0="inet 192.168.1.120 netmask 255.255.255.0 "
firewall_enable="YES"
firewall_script="/etc/fw.sh"
natd_enable="YES"
natd_interface="re0"
natd_flags="-dynamic -m -s -u"

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение Alvares » 2013-04-17 9:42:16

На клиентах шлюз по умолчанию соответствует IP вашего шлюза?
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 9:47:38

Alvares писал(а):На клиентах шлюз по умолчанию соответствует IP вашего шлюза?
Ессно, на клиентах настройки не менялись! Еще раз повторю, через сквид все нормально, а через нат нет доступа в интернет, причем нат запущен в процессах. Локальные машины пингуют и внешний АЙПИ сервера и АЙПИ шлюза провайдера. А пинг дальше отсутствует.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение Alvares » 2013-04-17 10:03:52

Зачем вам тогда сквид при такой постановке задачи?
Посмотрите здесь пример ядерного ната.
http://www.lissyara.su/articles/freebsd ... #example_1
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 10:10:15

Alvares писал(а):Зачем вам тогда сквид при такой постановке задачи?
Посмотрите здесь пример ядерного ната.
http://www.lissyara.su/articles/freebsd ... #example_1
Сквид нужен для сбора логов и дальнейшего формирования статистики Sarg. Тем более прозрачный сквид стоит, чтобы не заморачиваться с настройками на каждом клиенте. По поводу ядерного ната это уже нужно ядро пересобирать, а хотелось бы минимальными усилиями поменять подключение с РРРоЕ на Езернет.

dash1121
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-04-11 10:03:02

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение dash1121 » 2013-04-17 10:14:55

а как сделано перенаправление в squid?

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 10:24:03

dash1121 писал(а):а как сделано перенаправление в squid?
В данном случае я его временно убрал, т.к. что с ним, что без него результата не было. А вообще вот так:
/sbin/ipfw add 1000 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to not 192.168.1.0/24 80

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение snorlov » 2013-04-17 11:59:10

Возьмите стандартный скрипт rc.firewall из поставки 8.0, чуть-чуть подрихтуйте, пропишите открытый ipfw, ну и посмотрите правила, которые формируются при этом... У вас просто банально решутся ответы из инета в локалку, а вот когда локалка идет на squid, то тут все хоккей...

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 13:15:37

snorlov писал(а):Возьмите стандартный скрипт rc.firewall из поставки 8.0, чуть-чуть подрихтуйте, пропишите открытый ipfw, ну и посмотрите правила, которые формируются при этом... У вас просто банально решутся ответы из инета в локалку, а вот когда локалка идет на squid, то тут все хоккей...
Все возможно, но в качестве эксперимента, я вообще осталял в фаерволе правило НАТа, а по дефолту фаер и так открытый. Все равно ниче не работало.

Аватара пользователя
SomeBody
рядовой
Сообщения: 15
Зарегистрирован: 2010-12-23 12:59:48

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение SomeBody » 2013-04-17 13:34:05

Код: Выделить всё

sysctl net.inet.ip.forwarding=1

ipfw nat 1 config if re0 reset log unreg_only same_port
ipfw add 500 nat 1 ip from any to any via re0
Попробуйте так...

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение BirdGovorun » 2013-04-17 14:39:23

SomeBody писал(а):

Код: Выделить всё

sysctl net.inet.ip.forwarding=1

ipfw nat 1 config if re0 reset log unreg_only same_port
ipfw add 500 nat 1 ip from any to any via re0
Попробуйте так...
Будьте внимательны и не читайте наискось.

to vano
rc.conf

Код: Выделить всё

firewall_enable="YES"
firewall_type="OPEN"
firewall_script="/etc/ipfw_rules"
natd_enable="YES"
natd_interface="re0"
natd_flags="-f /etc/natd.conf"
/etc/natd.conf

Код: Выделить всё

use_sockets yes
same_ports yes
unregistered_only yes
/etc/ipfw_rules

Код: Выделить всё

#!/bin/sh

ipfw -qf flush

ipfw add 101 pass all from any to any via lo0
ipfw add 150 divert natd all from any to any via re0

это минимум нужного для работы ната.

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-17 14:59:36

Спасибо за советы, как попробую, отпишусь.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение Alvares » 2013-04-17 15:00:50

vano писал(а):По поводу ядерного ната это уже нужно ядро пересобирать, а хотелось бы минимальными усилиями поменять подключение с РРРоЕ на Езернет.
А просто модуль подгрузить уже нельзя?
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение snorlov » 2013-04-17 15:30:09

Да там не модуль надо подгружать, просто при соединение pppoE свой нат грузил...
Вообще не могу понять из-за чего идет сыр-бор, для ядерного ната и ядра GENERIC, там forward отключен, достаточно
/etc/rc.conf

Код: Выделить всё

firewall_enable="YES"
firewall_type="OPEN"
firewall_nat_enable="YES"
firewall_nat_interface="re0"

Ну может к этому надо модули подгрузить через /boot/loader.conf....

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-18 8:02:37

BirdGovorun писал(а):
SomeBody писал(а):

Код: Выделить всё

sysctl net.inet.ip.forwarding=1

ipfw nat 1 config if re0 reset log unreg_only same_port
ipfw add 500 nat 1 ip from any to any via re0
Попробуйте так...
Будьте внимательны и не читайте наискось.

to vano
rc.conf

Код: Выделить всё

firewall_enable="YES"
firewall_type="OPEN"
firewall_script="/etc/ipfw_rules"
natd_enable="YES"
natd_interface="re0"
natd_flags="-f /etc/natd.conf"
/etc/natd.conf

Код: Выделить всё

use_sockets yes
same_ports yes
unregistered_only yes
/etc/ipfw_rules

Код: Выделить всё

#!/bin/sh

ipfw -qf flush

ipfw add 101 pass all from any to any via lo0
ipfw add 150 divert natd all from any to any via re0

это минимум нужного для работы ната.

Попробывал ваши рекомендации. Пинг в мир появился, но НАТ работает как то странно, открываются не все сайты. Если сайт не загрузился, после нажатия Ф5 (обновить страницу) - он загружается и то через раз. Не пойму почему так происходит.

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение BirdGovorun » 2013-04-18 10:31:57

Смотреть ipfw show
Добавь правило

Код: Выделить всё

ipfw add 160 pass all from any to any 

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-18 12:03:22

BirdGovorun писал(а):Смотреть ipfw show
Добавь правило

Код: Выделить всё

ipfw add 160 pass all from any to any 

ipfw show выдает правило твоего фаера, который выше. С этим правилом

Код: Выделить всё

ipfw add 160 pass all from any to any 
ниче не получилось.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение snorlov » 2013-04-18 12:08:16

а мой совет пробовал...

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-18 12:18:21

snorlov писал(а):а мой совет пробовал...
нет, но попробую тоже.

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение immortal » 2013-04-19 10:33:53

vano, у Вас говорите пинги появились... Это после того как ядерный нат использовали или все таки на демоне natd получилось??

Код: Выделить всё

Если сайт не загрузился, после нажатия Ф5 (обновить страницу) - он загружается и то через раз
У меня была такая беда... У Вас в фаере должно быть правило:

Код: Выделить всё

${FwCMD} add pass ip from ${IpOut} to any out xmit ${LanOut}
Попробуйте добавить в конце keep-state

Код: Выделить всё

${FwCMD} add pass ip from ${IpOut} to any out xmit ${LanOut}  keep-state
У меня после этого просто залетал интернет!

vano
проходил мимо

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vano » 2013-04-19 20:59:01

immortal писал(а):vano, у Вас говорите пинги появились... Это после того как ядерный нат использовали или все таки на демоне natd получилось??

Код: Выделить всё

${FwCMD} add pass ip from ${IpOut} to any out xmit ${LanOut}  keep-state
У меня после этого просто залетал интернет!
Использовал обычный демон natd. По поводу правила, действительно все залетало, спасибо!

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение immortal » 2013-04-22 4:00:18

Код: Выделить всё

Использовал обычный демон natd. По поводу правила, действительно все залетало, спасибо!
А можете поподробней написать, все таки после каких действий (правил) у Вас появились пинги??

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: FreeBSD 8.0 NAT не раздает интернет

Непрочитанное сообщение vadim64 » 2013-04-22 8:14:29

immortal писал(а):vano, у Вас говорите пинги появились... Это после того как ядерный нат использовали или все таки на демоне natd получилось??

Код: Выделить всё

Если сайт не загрузился, после нажатия Ф5 (обновить страницу) - он загружается и то через раз
У меня была такая беда... У Вас в фаере должно быть правило:

Код: Выделить всё

${FwCMD} add pass ip from ${IpOut} to any out xmit ${LanOut}
Попробуйте добавить в конце keep-state

Код: Выделить всё

${FwCMD} add pass ip from ${IpOut} to any out xmit ${LanOut}  keep-state
У меня после этого просто залетал интернет!
директива keep-state предписывает фаерволу использовать недокументированные возможности аппаратного ускорения сетевой подсистемы, поэтому всё и залетало
это точно
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.