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

Исходное сообщение
"Как резолвить dns на удаленной стороне через pppd+mgetty?"

Отправлено Firewater , 04-Мрт-06 22:05 
Привествую!

Есть интрасетка с W2K AD + DNS с инетом (иннет вытаскивается через MS-ISA, на dns виндовом и единственным в этой интрасети настройен форвординг на провайдера). Поднял машину в этой сетке с freebsd 6.0 + mgetty + squid в качестве диалап сервера (чтобы из дома вылезать в инет). Все настроил, работает. Но dns на удаленной машине не ресолвится. nslookup - сервер не найден. Понимаю что должно быть просто, но где копать не могу понять, неужели на фришной машине нужно кеширующий dns поднимать? Как перекинуть пакеты запросов от виндового dns на удаленную машину через ppp?

P.S. еще раз уточню иннет работает на удаленной машине, dns из сквида брать получается у нее.
Не бейте сильно, сел за фрю неделю назад после долгой разлуки, все это время работал исключительно с MS продуктами =(.


Содержание

Сообщения в этом обсуждении
"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 04-Мрт-06 23:21 
ppp.conf  в студию или options/options.modem в зависимости от реализации (через ppp или pppd или expppd), надо что-то например такого:

ms-dns xx.xx.xx.xx


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Firewater , 04-Мрт-06 23:37 
>ppp.conf  в студию или options/options.modem в зависимости от реализации (через ppp
>или pppd или expppd), надо что-то например такого:
>
>ms-dns xx.xx.xx.xx

Конечно прописал это, вот options:

modem
noipdefault
nodetach
crtscts
debug
idle 1000
require-pap
refuse-chap
ms-dns 192.168.0.123
proxyarp

И подключенная удаленно винда именно до него пытается достучаться:

C:\Documents and Settings\test>nslookup ya.ru
DNS request timed out.
    timeout was 2 seconds.
*** Can't find server name for address 192.168.0.123: Timed out
*** Default servers are not available
Server:  UnKnown
Address:  192.168.0.123

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

На стороне freebsd все в порядке:

$ nslookup ya.ru
Server:         192.168.0.123
Address:        192.168.0.123#53

Non-authoritative answer:
Name:   ya.ru
Address: 213.180.204.8


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 05-Мрт-06 00:38 
А что у нас с фаером?

ipfw list


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Firewater , 05-Мрт-06 01:10 
>А что у нас с фаером?
>
>ipfw list

не трогал его


bsd# ipfw list
ipfw: getsockopt(IP_FW_GET): Protocol not available


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Щелкунов Иван , 05-Мрт-06 02:01 
В линукс-системах в опциях pppd надо говорить магическое слово proxyarp.

"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 05-Мрт-06 02:08 
>В линукс-системах в опциях pppd надо говорить магическое слово proxyarp.


если бы вы внимательно просмотрели приведенный авторм ветки конфиг, то увидели бы, что такая опция присутствует
Приведите:
ifconfig на freebsd и /etc/ppp/options.cuaaX


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Щелкунов Иван , 05-Мрт-06 02:13 
>>В линукс-системах в опциях pppd надо говорить магическое слово proxyarp.
>
>
>если бы вы внимательно просмотрели приведенный авторм ветки конфиг, то увидели бы,
>что такая опция присутствует

ну откуда внимательность в два часа ночи? а более общий вопрос - пинги ходят?


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 05-Мрт-06 02:40 
>>В линукс-системах в опциях pppd надо говорить магическое слово proxyarp.
>
>
>если бы вы внимательно просмотрели приведенный авторм ветки конфиг, то увидели бы,
>что такая опция присутствует
>Приведите:
>ifconfig на freebsd и /etc/ppp/options.cuaaX


Да, кстати, не плохо бы увидеть и лог сессии тоесть банально - чистите лог, производите подключение, отключаетесь, потом смотрите лог - можно много нового по нему увидеть. Неплохо еще глянуть tcpdump, по указанному выше - возможно проблема в маршрутизации, посему неплохо бы и netstat -rn


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Firewater , 05-Мрт-06 15:50 
>Да, кстати, не плохо бы увидеть и лог сессии тоесть банально -
>чистите лог, производите подключение, отключаетесь, потом смотрите лог - можно много

привожу ppp.log

Mar  5 15:33:19 bsd newsyslog[249]: logfile first created
Mar  5 15:36:48 bsd pppd[482]: pppd 2.3.5 started by root, uid 0
Mar  5 15:36:48 bsd pppd[482]: Using interface ppp0
Mar  5 15:36:48 bsd pppd[482]: Connect: ppp0 <--> /dev/cuad0
Mar  5 15:36:48 bsd pppd[482]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Mar  5 15:36:48 bsd pppd[482]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0x21f39131> <pcomp> <accomp>]
Mar  5 15:36:48 bsd pppd[482]: rcvd [LCP ConfAck id=0x1 <auth pap> <magic 0x21f39131> <pcomp> <accomp>]
Mar  5 15:36:51 bsd pppd[482]: rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 0x6a7d7489> <pcomp> <accomp> <callback 0x611> <quality 0x4e13 17 01> 4d c5 74 1c ce 02 4a c6 a3 a9 47 f9 5e 90 f5 9f 00 00 00 00 00]
Mar  5 15:36:51 bsd pppd[482]: sent [LCP ConfRej id=0x2 <callback 0x611> <quality 0x4e13 17 01> 4d c5 74 1c ce 02 4a c6 a3 a9 47 f
Mar  5 15:36:51 bsd pppd[482]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0x21f39131> <pcomp> <accomp>]
Mar  5 15:36:51 bsd pppd[482]: rcvd [LCP ConfReq id=0x3 <asyncmap 0x0> <magic 0x6a7d7489> <pcomp> <accomp>]
Mar  5 15:36:51 bsd pppd[482]: sent [LCP ConfAck id=0x3 <asyncmap 0x0> <magic 0x6a7d7489> <pcomp> <accomp>]
Mar  5 15:36:51 bsd pppd[482]: rcvd [LCP ConfAck id=0x1 <auth pap> <magic 0x21f39131> <pcomp> <accomp>]
Mar  5 15:36:51 bsd pppd[482]: rcvd [LCP code=0xc id=0x4 6a 7d 74 89 4d 53 52 41 53 56 35 2e 30 30]
Mar  5 15:36:51 bsd pppd[482]: sent [LCP CodeRej id=0x2 0c 04 00 12 6a 7d 74 89 4d 53 52 41 53 56 35 2e 30 30]
Mar  5 15:36:51 bsd pppd[482]: rcvd [LCP code=0xc id=0x5 6a 7d 74 89 4d 53 52 41 53 2d 31 2d 4c 45 4f]
Mar  5 15:36:51 bsd pppd[482]: sent [LCP CodeRej id=0x3 0c 05 00 13 6a 7d 74 89 4d 53 52 41 53 2d 31 2d 4c 45 4f]
Mar  5 15:36:51 bsd pppd[482]: rcvd [PAP AuthReq id=0x3 user="boss132" password="n65535"]
Mar  5 15:36:51 bsd pppd[482]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Mar  5 15:36:51 bsd pppd[482]: sent [PAP AuthAck id=0x3 "Login ok"]
Mar  5 15:36:51 bsd pppd[482]: sent [IPCP ConfReq id=0x1 <addr 192.168.1.126> <compress VJ 0f 01>]
Mar  5 15:36:52 bsd pppd[482]: rcvd [CCP ConfReq id=0x6 < 12 06 00 00 00 01>]
Mar  5 15:36:52 bsd pppd[482]: sent [CCP ConfReq id=0x1]
Mar  5 15:36:52 bsd pppd[482]: sent [CCP ConfRej id=0x6 < 12 06 00 00 00 01>]
Mar  5 15:36:52 bsd pppd[482]: rcvd [IPCP ConfReq id=0x7 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns 0.0.0.0> <ms-wins 0.0.0.0>]
Mar  5 15:36:52 bsd pppd[482]: sent [IPCP ConfRej id=0x7 <ms-wins 0.0.0.0> <ms-wins 0.0.0.0>]
Mar  5 15:36:52 bsd pppd[482]: rcvd [IPCP ConfAck id=0x1 <addr 192.168.1.126> <compress VJ 0f 01>]
Mar  5 15:36:52 bsd pppd[482]: rcvd [CCP ConfAck id=0x1]
Mar  5 15:36:52 bsd pppd[482]: rcvd [CCP TermReq id=0x8"j}t\37777777611\000<\37777777715t\000\000\002\37777777734"]
Mar  5 15:36:52 bsd pppd[482]: sent [CCP TermAck id=0x8]
Mar  5 15:36:52 bsd pppd[482]: rcvd [IPCP ConfReq id=0x9 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns 0.0.0.0> <ms-dns 0.0.0.0>]
Mar  5 15:36:52 bsd pppd[482]: sent [IPCP ConfNak id=0x9 <addr 192.168.1.127> <ms-dns 192.168.0.123> <ms-dns 192.168.0.123>]
Mar  5 15:36:52 bsd pppd[482]: rcvd [IPCP ConfReq id=0xa <compress VJ 0f 01> <addr 192.168.1.127> <ms-dns 192.168.0.123> <ms-dns 192.168.0.123>]
Mar  5 15:36:52 bsd pppd[482]: sent [IPCP ConfAck id=0xa <compress VJ 0f 01> <addr 192.168.1.127> <ms-dns 192.168.0.123> <ms-dns 192.168.0.123>]
Mar  5 15:36:52 bsd pppd[482]: Cannot determine ethernet address for proxy ARP
Mar  5 15:36:52 bsd pppd[482]: local  IP address 192.168.1.126
Mar  5 15:36:52 bsd pppd[482]: remote IP address 192.168.1.127
Mar  5 15:36:55 bsd pppd[482]: sent [CCP ConfReq id=0x1]
Mar  5 15:36:55 bsd pppd[482]: rcvd [CCP TermAck id=0x1]
Mar  5 15:36:55 bsd pppd[482]: sent [CCP TermReq id=0x2"No compression negotiated"]
Mar  5 15:36:55 bsd pppd[482]: rcvd [CCP TermAck id=0x2"No compression negotiated"]

Пинги ходят только до сетевухи сервера FreeBSD, ее адрес 192.168.0.126.
В options.cuad0 прописано выдавать удаленной машине 192.168.1.127, адрес сервера 192.168.1.126.
адрес днс 192.168.0.123.

Вот таблица роутинга:
bsd# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.0.122      UGS         0        0    ed0
127.0.0.1          127.0.0.1          UH          0       27    lo0
192.168.0          link#1             UC          0        0    ed0
192.168.0.122      00:10:22:ff:5a:6c  UHLW        2        0    ed0    323
192.168.0.123      00:0c:6e:8e:e2:94  UHLW        1       11    ed0    804
192.168.1.127      192.168.1.126      UH          0      505   ppp0


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 05-Мрт-06 17:15 
>
>
>Пинги ходят только до сетевухи сервера FreeBSD, ее адрес 192.168.0.126.
>В options.cuad0 прописано выдавать удаленной машине 192.168.1.127, адрес сервера 192.168.1.126.
>адрес днс 192.168.0.123.
>
Вот здесь корень проблемы - настрой маршрутизацию на windows

route add 192.168.1.126 192.168.0.126

Винда не знает куда слать пакеты.


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Firewater , 06-Мрт-06 13:04 
>>
>>
>>Пинги ходят только до сетевухи сервера FreeBSD, ее адрес 192.168.0.126.
>>В options.cuad0 прописано выдавать удаленной машине 192.168.1.127, адрес сервера 192.168.1.126.
>>адрес днс 192.168.0.123.
>>
>Вот здесь корень проблемы - настрой маршрутизацию на windows
>
>route add 192.168.1.126 192.168.0.126
>
>Винда не знает куда слать пакеты.

Да нет, это все не то. Тут нужно роутинг на машине с фрибсд настраивать, причем чтобы только DNS пакеты ходили... Кто бы подсказал как это правильно сделать.



"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 06-Мрт-06 14:08 
>
>Да нет, это все не то. Тут нужно роутинг на машине с
>фрибсд настраивать, причем чтобы только DNS пакеты ходили... Кто бы подсказал
>как это правильно сделать.


А это что по твоему? Или они по промыслу божьему ходят и на маршрутизацию с эйфелевой башни плевали?


Вот расскажи мне такую ситуацию, как в ней пакеты будут бегаь есть две сетки.
A -192.168.1.0/24
B -192.168.2.0/24

Сетка А знает о существовании сети В , сетка В не знает о существовании сети А, но у нее есть дефаулт роут на честный IP ххх.ххх.ххх.ххх

Теперь хост из сети А шлет запрос по icmp/udp/tcp на хост из сети В. Вопрос, куда хост из сети В отправит пакеты? Как по мне, то на дефаултный роутер.
Вопрос, как отправлять на сеть А пакеты из сети В ? Как по мне - прописат в таблице маршрутизации шлюз в сеть А, вида:

route add 192.168.1.0 192.168.2.2

Выводы:
а) незнание принципов маршрутизации пакетов
б) нежелание делать как подсказывают
в) необходимо устранить перечисленные пункты а) и б).


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Firewater , 06-Мрт-06 14:48 
>A -192.168.1.0/24
>B -192.168.2.0/24
>
>Сетка А знает о существовании сети В , сетка В не знает
>о существовании сети А, но у нее есть дефаулт роут на
>честный IP ххх.ххх.ххх.ххх

Не совсем так. Дефолт роут у этой сетки завязан на адрес MS-ISA сервера, иначе его Secure NAT просто не пускал бы в иннет. DNS сервер находится на другой машине из этой подсети, да это сетка 192.168.0.0/24

Вторая подсеть - это собственно ppp. На машине c Freebsd. Так причем здесь прописывания маршрута на LNS сервере из другой подсети, когда эи подсетки разделяет машина с Фрёй? Нет, безусловно можно выкинуть Squid, настроить NAT и радоваться жизни, но нужно настроить именно передачу пакетов DNS и именно на машине с Фрибсд.

>
>Выводы:
>а) незнание принципов маршрутизации пакетов
Может я и не прав. Если не прав то чем?

>б) нежелание делать как подсказывают
прописано это и на машине с DNS и для чистоты эксперимента также на дефолт роутере после прочтения Вашего первого ответа на эту тему. Ситуация не изменилась.



"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Skif , 06-Мрт-06 15:07 
>>Сетка А знает о существовании сети В , сетка В не знает
>>о существовании сети А, но у нее есть дефаулт роут на
>>честный IP ххх.ххх.ххх.ххх
>
>Не совсем так. Дефолт роут у этой сетки завязан на адрес MS-ISA
>сервера, иначе его Secure NAT просто не пускал бы в иннет.
>DNS сервер находится на другой машине из этой подсети, да это
>сетка 192.168.0.0/24


>
>Вторая подсеть - это собственно ppp. На машине c Freebsd. Так причем
>здесь прописывания маршрута на LNS сервере из другой подсети, когда эи
>подсетки разделяет машина с Фрёй? Нет, безусловно можно выкинуть Squid, настроить
>NAT и радоваться жизни, но нужно настроить именно передачу пакетов DNS
>и именно на машине с Фрибсд.
>


Вот именно или на роутере, что идиологически правильно, либо на ДНС-сервере необходимо прописать обратный маршрут к сети 192.168.1.0/24 так как о ней маршрутизатор ничего не знает, по этому он отправляет пакеты в никуда.

>>
>>Выводы:
>>а) незнание принципов маршрутизации пакетов
>Может я и не прав. Если не прав то чем?

Выше
>
>>б) нежелание делать как подсказывают
>прописано это и на машине с DNS и для чистоты эксперимента также
>на дефолт роутере после прочтения Вашего первого ответа на эту тему.
>Ситуация не изменилась.

Ок.
Тогда netstat -rn на фре и виндах, включая дефолтный роутер. Если траффик идет через дефолтный роутер от DNS сервера(тобишь там прописан только дефолтный роут и ничего больше в таблице маршрутов), тогда вбить в правила фаервола ISA пропуск пакетов (пока всех, потом по личному усмотрению) из 192.168.0.0/24 в 192.168.1.0/24

Так же неплохо бы посмотреть на tcpdump -i _lan_interface_

уверен, что пакеты с фряхи уходят через него, но не возвращаются. Если вы это сами увидите, то поймете, что проблема заключается в том, что пакеты от вас ушли, но виндовые машины не могут их вернуть вам обратно. Причин может быть две, либо фаер, либо маршрутизация. Я склоняюсь к последнему варианту


"Как резолвить dns на удаленной стороне через pppd+mgetty?"
Отправлено Firewater , 06-Мрт-06 16:52 
Сделал все проще, поднял кеширующий bind :-))