LINUX.ORG.RU
ФорумAdmin

PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов


0

0

Всем привет. Обращаюсь за помощью к Вам, так как уже сижу неделю и не могу решить проблему. У меня есть сервер на ASP Linux 11.2, работающий как PPTP сервер и роутер центрального офиса. Клиенты удаленных офисов подключаются к нему с утра, при загрузке их компьютеров, и видят все ресурсы центрального офиса без проблем. Но есть один не очень притный момент! Удаленный клиент видит все компьютеры центрального офиса, но из офиса пинги на него не доходят. Причем я уже выявил закономерность. Если удаленный клиент выходит в Интернет через динамический адрес, выданный ему от своего провайдера, то он не виден из главного офиса. (Хотя на сервере route -N показывает вот что:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.1.111 0.0.0.0 255.255.255.255 UH 0 0 0 ppp2 192.168.1.151 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.1.112 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1 ..... ..... Но если удаленный клиент выходит в инет через статический адрес, то все нормально! Тогда он полность виден и со стороны сервера и со всех компьютеров централоного офиса.

PPTP сервер 192.168.1.1 сеть центрального офиса 192.168.0.0/24 Удаленные клиенты 10.0.1.100-120 (на них задан статический маршрут типа route add -p 192.168.1.0 mask 255.255.255.0 10.0.1.100-120) И еще пробовал давать им адреса типа 192.168.1.150-155 ( и соответственно маршрутизацию не прописывал)

Система ASP Linux 11.2

Ядро 2.6.20.1 (пропатчено MPPE-MPPC у установленно их исходников)

ppp-2.4.3-6.2.1.112asp

pptpd-1.3.0-2.112asp

Шифрование MPPE-128

Вообще этот сервер был создан, для подключения к удаленным компам через radmin и mstsc (У удаленных офисов нет статических адресов)

Помогите плиз.!

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

echo 1 > /proc/sys/net/ipv4/ip_forward

что говорит iptables -L ?

(используй user line breaks форматирование)

SlavikSS ★★ ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

[root@router-ww ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination WW-INPUT all -- anywhere anywhere

Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 192.168.1.119 anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere multiport dports ssh,smtp,pop3s,smtps,3389,pop3 ACCEPT udp -- anywhere anywhere multiport dports domain ACCEPT icmp -- anywhere anywhere DROP tcp -- anywhere anywhere tcp dpt:5190 DROP tcp -- anywhere anywhere tcp dpt:http DROP tcp -- anywhere anywhere tcp dpt:https ACCEPT tcp -- anywhere anywhere tcp dpt:1723

Chain OUTPUT (policy ACCEPT) target prot opt source destination all -- anywhere anywhere

Chain WW-INPUT (1 references) target prot opt source destination DROP all -- anywhere anywhere state INVALID ACCEPT icmp -- anywhere anywhere icmp echo-request ACCEPT udp -- anywhere 244.0.0.251 udp dpt:5353 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:pop3s ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1723 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:smtps ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:pop3 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:smtp ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ftp ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https

el_angelo ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

[root@router-ww ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
WW-INPUT all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.1.119 anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere multiport dports ssh,smtp,pop3s,smtps,3389,pop3
ACCEPT udp -- anywhere anywhere multiport dports domain
ACCEPT icmp -- anywhere anywhere
DROP tcp -- anywhere anywhere tcp dpt:5190
DROP tcp -- anywhere anywhere tcp dpt:http
DROP tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:1723

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
all -- anywhere anywhere

Chain WW-INPUT (1 references)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT udp -- anywhere 244.0.0.251 udp dpt:5353
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:pop3s
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1723
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:smtps
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:pop3
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ftp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https

el_angelo ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

Получается, что когда пингуешь с сервера удаленные пк, запрос пинга уходит через ppp+, а реплей возвращается на eth+ ( внешний адрес) Как сдела так, чтобы ответ приходил на ppp+ ?

el_angelo ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

[root@router-ww ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:smtp to:192.168.1.119:25
DNAT tcp -- anywhere anywhere tcp dpt:smtps to:192.168.1.119:465
DNAT tcp -- anywhere anywhere tcp dpt:pop3s to:192.168.1.119:995
DNAT tcp -- anywhere anywhere tcp dpt:pop3 to:192.168.1.119:110
DNAT tcp -- anywhere anywhere tcp dpt:3389 to:192.168.1.200:3389

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- anywhere 192.168.1.0/24 to:192.168.1.1
SNAT all -- anywhere anywhere to:81.13.8.10

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

el_angelo ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

>Получается, что когда пингуешь с сервера удаленные пк, запрос пинга уходит через ppp+, а реплей возвращается на eth+ ( внешний адрес)

А это ты как узнал?

В фаерволе у тебя какой-то бред (SNAT all -- anywhere anywhere to:81.13.8.10), или я ошибаюсь?

Покажи ещё раз route -n (с форматированием).

SlavikSS ★★ ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.151 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
81.13.8.8 0.0.0.0 255.255.255.252 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 81.13.8.9 0.0.0.0 UG 0 0 0 eth1

el_angelo ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

Я узнал очень просто...Как я уже говорил, клиент, выходящий в интернет через статический реальный ip адрес, виден с сервера и пинги на него доходят и возвращаются. Я запустил сначало пинг с сервера на этого клиента...(ответ был.) Потом я запустил tcpdump -i ppp1 и увидел, что реквесты пингов уходят...А реплеев нет....Тогда я в паралельном окне запустил tcpdump -i eth1 (сет. карта со внешним адресом) и увидел реплеи пинга от удаленного клиента...Вот такая хрень получается... Но когда пигруешь комп локальной сети сервера, то пинги уходят и приходят в один и тот же интерфейс - eth0 (внутренний адрес сервера). Исходя из всего этого, я думаю что косяк в маршрутизации а именно в таблице POSTROUTING ! Думаю что сервер при отправке запроса пинга на удаленный pptp клиент, меняет адрес источника на внешний. Если сделать так, что бы пинг на клиентов улетал через ppp+ и прилетал туда же...то все будет работать как нужно.... В общем не знаю какое правило в POSTROUTING нужно дл этого прописать!!!

el_angelo ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

Да, найди доку про iptables, тогда будет намного легче!

Для твоих ppp интерфейсов SNAT не нужен, он нужен для интерфейсов, которые смотрят в мир.

Поэтому нужно в правилах указывать исходящий интерфейс.
Пример:

iptables -A POSTROUTING -o eth1 -j SNAT --to 192.168.2.1

SlavikSS ★★ ()

Re: PPTP VPN сервер на ASP Linux 11.2 - Сервер не пингует удаленных клиентов

Проблема решена!!!!

Я добавил строчку:

iptables -t nat - I POSTROUTING 1 -o ppp+ -j SNAT 192.168.1.1

и все заработало!!!!!!

Всем спасибо!

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