PPTP VPN: внешние компьютеры могут получить доступ к сети, но внутренние компьютеры не могут получить доступ к внешней сети

PPTP VPN: внешние компьютеры могут получить доступ к сети, но внутренние компьютеры не могут получить доступ к внешней сети

Недавно я настроил VPN для своего дома (используя хост Ubuntu и PPTP, см. ссылки внизу), так что у меня есть доступ к моим серверам, где бы я ни находился, и пока все работает так, как я хотел. Я настроил так, что любой удаленный компьютер, подключенный через VPN, может войти и получить доступ к любому компьютеру в сети. Проблема, с которой я столкнулся, заключается в том, что к компьютеру, подключенному через VPN, не могут получить доступ никакие компьютеры внутри сети.

Итак, предположим, что компьютер 1 имеет IP-адрес 192.168.0.10 и физически находится в сети, а компьютер 2 имеет IP-адрес [исправление, это192.168.0.101не 192.168.1.101 (все в одной подсети)] и подключен через VPN.

Компьютер 2 может выполнить команду ping для компьютера 1 и получить доступ к общим ресурсам Windows, но по какой-то причине компьютер 1 не может выполнить команду ping для компьютера 2 или получить доступ к общим ресурсам Windows.

Конечно, он работает так, как мне изначально было нужно (чтобы компьютер 2 мог получить доступ к сети), но я вижу некоторые потенциальные применения, если бы он появился в сети так же, как и любой другой компьютер, чтобы он мог пинговать каждый другой компьютер (включая другие компьютеры, подключенные через VPN), и каждый другой компьютер мог бы пинговать его.

Есть ли какие-нибудь предложения, как это исправить? Это просто так работает VPN, и на самом деле в этом нет никакой проблемы?

Я использовал следующее руководство:http://forums.bit-tech.net/showthread.PHP?t=132029. Мне также нужно было использовать немного из:http://pigtail.net/nicholas/pptp/где мне нужно было открыть "/etc/sysctl.conf" и раскомментировать строку "#net.ipv4.conf.default.forwarding=1"

Редактировать Я выполнил трассировку маршрута с компьютера 1 на компьютер 2 и наоборот.

От компьютера 1 к компьютеру 2: достигает сервера PPTP в качестве первого узла, но затем истекает время ожидания.

Компьютер 2 к компьютеру 1: Достигает сервера PPTP как первый переход. Достигает компьютера 1 как второй переход.

решение1

Интересно, что пинг работает. Наверное, так не должно быть.

Вероятная проблема — маршрутизация. Если вы используете 192.168.0.xвнутренние адреса и 192.168.1.xадреса для VPN, компьютеры внутри не знают, как общаться с компьютерами VPN. Для любых адресов за пределами подсети 192.168.0они пересылают запрос на ваш маршрутизатор (за исключением лучших инструкций).

Поскольку VPN-машины не находятся в этой /24подсети, они переходят на ваш маршрут по умолчанию ( 192.168.0.1) и тут же отбрасываются вашим маршрутизатором, поскольку он тоже не знает, что с ними делать.

Есть два способа решения этой проблемы:

  • установите маршруты вручную на всех внутренних компьютерах или установите один статический постоянный маршрут на маршрутизаторе.

  • самое простое решение, если ваш маршрутизатор позволяет, это добавить маршрут в его таблицу маршрутизации

Методы и поддержка будут различаться в зависимости от вашего маршрутизатора, но суть в том, что вы хотите, чтобы весь трафик, идущий по адресу 192.168.1.0/24(или 192.168.1.0сетевой маске 255.255.255.0, что одно и то же), был направлен по адресу, 192.168.0.xxxгде xxxнаходится внутренний адрес вашего VPN-сервера.

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

Редактировать:

Другим вариантом было бы изменить конфигурацию PPTPd для выдачи 192.168.0.xадресов (убедитесь, что они находятся в диапазоне, выходящем за пределы того, что назначает DHCP-сервер вашего внутреннего маршрутизатора). Тогда маршрут не понадобится, поскольку все будет в одном широковещательном домене (линия default.forwarding=1фактически превращает ваш сервер в гигантский коммутатор).

Связанный контент