LINUX.ORG.RU

проблема c ppp


0

0

Не получается норманльный форвардинг с ppp.
Почему-то не работает dns.
правила такие:
iptables -P FORWARD DROP
iptables -t nat -a POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.99.107
когда я включаю кому-нить иНет. то делаю
iptables -A FORWARD -s UserIP -i ppp+ -j ACCEPT
iptables -A FORWARD -d UserIP -o ppp+ -j ACCEPT
все ок, только при попытке зайти куда-нрить через доменное имя, говорит что такого домена не существует, если обращаться по IP, то все в порядке.

anonymous

Дело скорее всего не в iptables, а в настройке pppd. Для передачи пользователю адреса DNS сервера используется опция pppd 'ms-dns xxx.xxx.xxx.xxx'. Если клиенты тоже используют pppd, то для получения адреса DNS сервера при установления PPP соединения используется опция 'usepeerdns' (на клиенте!)

PS: Если уже есть Linux сервер для выходы в инет, то почему бы не поставить кеширующий DNS? Это улучшит отклик и уменьшит траффик ;)

PPS: 'tcpdump -vvvi ppp0 port 53' покажет все попытки обращения к DNS с ppp слиента, если они конечно имееют место и поможет выяснить куда эти обращения направлены и почему на них нет ответов.

oslikia
()
Ответ на: комментарий от oslikia

>Если клиенты тоже используют pppd, то для получения адреса DNS сервера при установления PPP соединения используется опция 'usepeerdns' (на клиенте!)

А если нет? Судя по тексту автора поста, клиенты сидят в локалке (езернет) а на шлюзе pppd с постоянным (не динамически выделяемым) ip. Как быть в таком случае с роутингом днс-запросов клиентов в локалке? Когда я столкнулся с такой проблемой, не придумал ничего лучшего, чем пропиписывать в /etc/resolv.conf клиентов айпишники днс серверов взятых из /etc/ppp/resolv.conf шлюза... Это всё работает ОК в случае, если провайдер назначает шлюзу статический адрес ДНС, а как быть если ДНС назначается динамически? Всё что приходит в голову - написать скрипт (на клиентской стороне), который будет сравнивать содержание /etc/resolv.conf и /etc/ppp/resolv.conf шлюза, и в случае несовпадения менять адреса днс используя /etc/ppp/resolv.conf в качестве образца... Может есть более кошерный способ?

bsh ★★★
()
Ответ на: комментарий от bsh

>Может есть более кошерный способ?

Нет, ну понятно, что кеширующий днс сервер на шлюзе решает все эти проблемы, но как обойтись без него в этом случае?

bsh ★★★
()
Ответ на: комментарий от anonymous

1. Поставить на шлюзе bind и найти к нему пакет настроек, кажется называется caсhing-nameserver. Ну или почитать доки и настроить бинд для кэширования самому ;). Насколько помню, такой пакет с настройками входил в ASP 9.2.

2. Указать клиентам в качестве днс сервера айпи шлюза.

Также вариант: поставить squid, афаик, он умеет кешировать днс запросы. Заодно и контроль над юзерами можно усилить ;)

bsh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.