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

Исходное сообщение
"ipfw + nat, не пингуются  внешние адреса "

Отправлено saarland , 12-Ноя-04 10:00 
Помогите новичку разобраться во FreeBsd.

Ситуация следующая на роутере (с натом) все машины пингуются нормально и nslookup работает.
Из машины локальной сети имеем следующее:
--------------------------------------
nslookup
Default Server:  inetserver
Address:  192.168.0.1

> kde.org
Server:  inetserver
Address:  192.168.0.1

DNS request timed out.
    timeout was 2 seconds.
*** Request to inetserver timed-out
>
--------------------------------------

--------------------------------------
ping xxx.com
Обмен пакетами с xxx.com [66.28.153.14] по 32 байт:
Превышен интервал ожидания для запроса.
--------------------------------------


ipfw на роутере выдает следующее
----------------------------------------------------------------
00300 3150633  354334268 divert 8668 log ip from 192.168.0.0/24 to any out xmit dc0
00400 4295322 3521336380 divert 8668 tcp from any to 1.2.3.4
00500  258516   25368356 allow ip from any to any via lo0
01300 9297188 4533529248 allow ip from any to any via rl0
01400    1550      93016 reset log tcp from any to any 113 in recv dc0
01500  345710   16606796 allow log tcp from any to any out xmit dc0 setup
01600 6956592 3855165438 allow tcp from any to any via dc0 established
01700    6530     331248 allow log tcp from any to 1.2.3.4 25 setup
01800       6        312 allow log tcp from any to 1.2.3.4 110 setup
01900  235200   16764595 allow udp from 1.2.3.4 to any 53 out xmit dc0
02000  230369   38050835 allow udp from any 53 to 1.2.3.4 in recv dc0
02500   40550    2396336 allow icmp from any to any
02600  272307   16306178 deny log ip from any to any
65535       1         56 allow ip from any to any
----------------------------------------------------------------
Причем web работает нормально.


Вопросы следующие:
1. Как сделать так чтобы из локальной сети можно было пинговать внешние адреса и работал nslookup.
2. Для чего нужно правило 00400? Можно ли его удалить?


Содержание

Сообщения в этом обсуждении
"ipfw + nat, не пингуются  внешние адреса "
Отправлено FireWall , 16-Ноя-04 06:38 
>Помогите новичку разобраться во FreeBsd.
>
>Ситуация следующая на роутере (с натом) все машины пингуются нормально и nslookup
>работает.

>00400 4295322 3521336380 divert 8668 tcp from any to 1.2.3.4

это диверт всех пакетов на адрес 1.2.3.4 Т.е.

>Вопросы следующие:
>1. Как сделать так чтобы из локальной сети можно было пинговать внешние
>адреса и работал nslookup.

ДНС сервер у тебя где?
>2. Для чего нужно правило 00400? Можно ли его удалить?

можно удалить, но лучше пропиши реальный адрес

ipfw add 400 divert natd ip from 192.168.0.0/24 to any out xmit ed0,
где ed0 - твой внешний интерфейс, который смотрит в инет


"ipfw + nat, не пингуются  внешние адреса "
Отправлено saarland , 16-Ноя-04 07:37 
>>00400 4295322 3521336380 divert 8668 tcp from any to 1.2.3.4
>
>это диверт всех пакетов на адрес 1.2.3.4 Т.е.
1.2.3.4  - это реальный ip который смотрит в интернет
dc0      - внешняя сетевая карта
правило номер 00300 должно заворачивать всех на nat. Не могу понять для чего нужно было добавлять 00400. Получается он заворачивает tcp пакеты с loopback и внешнего интернета.... Зачем это нужно??  

>
>ДНС сервер у тебя где?
ДНС сервер есть у :
провайдера,
во внутренней сети (win2k, форвандинг настроен на провайдерские DNS)  
и на самом роутере.

При указании  использовать DNS внутренний или провайдера ip адрес  пингом резолвится, но ответа нет.


>>2. Для чего нужно правило 00400? Можно ли его удалить?
>
>можно удалить, но лучше пропиши реальный адрес
>
>ipfw add 400 divert natd ip from 192.168.0.0/24 to any out xmit
>ed0,
>где ed0 - твой внешний интерфейс, который смотрит в инет
тогда это будет правило номер 300.



"ipfw + nat, не пингуются  внешние адреса "
Отправлено saarland , 22-Ноя-04 03:35 
>----------------------------------------------------------------
>00300 3150633  354334268 divert 8668 log ip from 192.168.0.0/24 to any
>out xmit dc0
>00400 4295322 3521336380 divert 8668 tcp from any to 1.2.3.4
>Вопросы следующие:
>1. Как сделать так чтобы из локальной сети можно было пинговать внешние
>адреса и работал nslookup.
>2. Для чего нужно правило 00400? Можно ли его удалить?

Сам себе и отвечаю на вопрос №1 =)
В правиле 00400 пропускаются только TCP пакеты, пишем all и все работает.