URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86773
[ Назад ]

Исходное сообщение
"Нет выхода в Интернет через маршрутизатор FreeBSD"

Отправлено ALP , 01-Окт-09 12:32 
Прошу помощи!
Не удаётся выйти в Интернет через маршрутизатор FreeBSD 7.2.

Настройка BSD выполнена.
Интернет на самом маршрутизаторе работает без проблем.
Подключение PPPoE (динамическое), DNS через resolv.conf.
Пинги по локальной сети до BSD (туда-сюда) ходят.
А вот, пинги в Интернет от XP (через шлюз) не идут.
У пользователей (XP) в качестве шлюза указан адрес BSD.
Пытался подключиться без всяких ipfw/nat...ничего, с ними тоже (сейчас оставил OPEN).

Всё, вроде, настроено по многочисленным handbook-ам.

=========
Ядро перекомпилировано, как требуется:

options    IPFIREWALL             
options IPFIREWALL_VERBOSE          
options IPFIREWALL_FORWARD         
options IPFIREWALL_VERBOSE_LIMIT=100     
options IPFIREWALL_DEFAULT_TO_ACCEPT     
options NETGRAPH             
options NETGRAPH_PPP             
options NETGRAPH_PPTPGRE         
options DUMMYNET
options IPDIVERT
=========
rc.conf

gateway_enable="YES"
hostname="bsd"
network_interfaces="lo0 sk0 rl0"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_sk0="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.1.2 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
inetd_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
firewall_logging="YES"
firewall_quiet="NO"
#natd_program="/sbin/natd"
#natd_enable="YES"
#natd_interface="rl0"
#natd_flags=""
nfs_client_enable="YES"
rpcbind_enable="YES"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
ntpdate_enable="NO"
ntpdate_flags="none"
=============
resolv.conf

nameserver 212.120.160.130
nameserver 212.120.173.34
=============
ppp.conf

default:
ident user-ppp VERSION (built COMPILATIONDATE)
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
enable dns
set speed sync
set cd 5
set ctsrts off
set dial
set login
set timeout 0
set redial 0 0
disable ipv6cp
enable lqr echo
add default HISADDR

prov1:
set mru 1492
set mtu 1492
set device PPPoE:rl0
set authname "11111#11111"
set authkey 22222
=============================

Что посоветуете? В чём может быть проблема? Куда смотреть?


Содержание

Сообщения в этом обсуждении
"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено reader , 01-Окт-09 13:10 
с серыми ip в подсети и без nat врятли, только если этот nat за вас будет делать провайдер и маршрутизировать ответы к вам

"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено Kos , 01-Окт-09 13:12 
>[оверквотинг удален]
>
>prov1:
> set mru 1492
> set mtu 1492
> set device PPPoE:rl0
> set authname "11111#11111"
> set authkey 22222
>=============================
>
>Что посоветуете? В чём может быть проблема? Куда смотреть?

открыть для себя что такое "серые адреса" и "НАТ": что это, зачем оно и т.д.


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено ALP , 01-Окт-09 13:21 
Спасибо.
Попробую :)


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено Артур , 01-Окт-09 15:22 
>>Что посоветуете? В чём может быть проблема? Куда смотреть?

Я уж так сказать за компанию.... :)

GW мы с того конца получаем, а вот нат куда в этом случае должен смотреть, в один из network_interfaces, или в созданный туннель ? (жаль, пппое под рукой нету)


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено ALP , 01-Окт-09 16:31 
Я так понял, если адрес выдаётся динамический провайдером, тогда nat привязывается к туннелю (у меня tun0).
Если статический, тогда к сетевому интерфейсу  (у меня rl0).

Я поэтому и запустил нат на ppp, а не через natd.
Все пишут, что лучше нету, чем ipnat, он в ядре (опять же надо перекомпилировать...), а natd внешний демон.

Какая разница, я так думаю, и natd внешний, и ppp (nat) внешний ...)

Но это моё скромное предположение )...
Мне тоже интересно. Прошу прокомментировать спецов.



"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено Артур , 02-Окт-09 03:36 
Про динамические не скажу, у меня вот дома статический, причем ситуация схожая - также tun0 my.my.my.my -> gw.gw.gw.gw (или наоборот, не помню).

Мне вот стало интересено и я решил пошевелить мозгами:)

По идее пакеты залетающие в тун0 так или иначе проходят через рл0, но только уже обернутые в PPP. Причем в dst у оберток скорее всего стоит gw провайдера. Так что если повесить нат, не знающий о ппп, на рл0, то наверно ничего натиться и не будет, т.к. все такие обертки генерит ппп/тун0, вполне локальный процесс (а исходные пакеты вообще нельзя в рл0 опознать - они же уже заппптые).

С другой стороны можно такому нату указать тун0 в качестве интерфейса, тут у меня сомнения -- ппп стартует раньше ната, или это неважо ? Если позже, то туннель будет создан уже после загрузки ната, что может на нем сказаться. Или не может ? Если у меня две ppp сессии, как определить кто тун0, а кто тун1 ?

В инете есть примеры поднятия natd/ipfw:tun0 + ppp, проверить к сожалению не могу. Будет замечательно, если кто-нибудь п[р]ояснит поближе к сути.

Всем заранее спасибо.


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено ALP , 02-Окт-09 09:41 
Мне тоже интересно :)

Я так понял, защищать надо внешний интерфейс.
Что ближе к Интернету - интерфейс карты rl0 или созданный tun0?
Я думаю, tun0.
Тогда и nat надо вешать на tun0 и в ipfw защищать tun0.

Кстати, если будет несколько tun, можно в ipfw указывать "tun+"?


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено Артур , 02-Окт-09 10:08 
>Кстати, если будет несколько tun, можно в ipfw указывать "tun+"?

     recv | xmit | via {ifX | if* | ipno | any}
             Matches packets received, transmitted or going through, respec-
             tively, the interface specified by exact name (ifX), by device
             name (if*), by IP address, or through some interface.

похоже что tun*, хотя не совсем ясно девайс он или нет...
хотя я считаю, клиенты лана не такие уж мягкие и пушистые -- у меня они тоже явно доступ получают. а так -- deny by default для всех.


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено ALP , 01-Окт-09 16:12 
Добавил в
ppp.conf

   nat enable yes
   nat log yes
   nat same_ports yes
   nat use_sockets yes
   nat unregistered_only yes

Пинги из локалки в Инет пошли.
Страницы стали грузиться только после того, как прописал DNS-ы провайдера в свойствах TCP/IP (на XP).



"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено Grey , 01-Окт-09 20:35 
>[оверквотинг удален]
>
>   nat enable yes
>   nat log yes
>   nat same_ports yes
>   nat use_sockets yes
>   nat unregistered_only yes
>
>Пинги из локалки в Инет пошли.
>Страницы стали грузиться только после того, как прописал DNS-ы провайдера в свойствах
>TCP/IP (на XP).

Поднимите на BSD кеширующий bind и его адрес пропишите у клиентов ...


"Нет выхода в Интернет через маршрутизатор FreeBSD"
Отправлено ALP , 01-Окт-09 23:12 
Спасибо, попробую.