У меня есть сервер pptpd и Shorewall, работающие на одном сервере. Сервер имеет два Ethernet-соединения (eth0 -> WAN, eth1 -> LAN), а его IP-адрес в локальной сети - 10.11.100.201.
Я могу без проблем установить VPN-туннель со своего домашнего компьютера, но я не могу получить доступ ни к одному из компьютеров в офисной локальной сети, включая VPN-сервер. Если я пингую другой конец VPN-туннеля (10.11.100.20), я получаю "Destination Host Unreachable".
Но если отключить Shorewall, все работает!
Я что-то не так сделал с конфигурацией Shorewall?
интерфейсы:
wan eth0 detect dhcp,routefilter,tcpflags lan eth1 detect dhcp vpn ppp+
зоны:
fw firewall wan ipv4 lan ipv4 vpn ipv4
маска:
eth0 eth1
политика:
vpn lan ACCEPT lan vpn ACCEPT wan all DROP lan all REJECT fw all ACCEPT all all REJECT
туннели:
pptpserver wan 0.0.0.0/0
Обновить
Я уже решил эту проблему, но я не уверен, зачем мне это делать. Как бы то ни было, решением было добавить еще одну политику:
vpn all ACCEPT
Я думал, что для Shorewall интерфейс VPN ppp0 будет таким же сетевым интерфейсом, как и любой другой, но, похоже, он знает, что трафик ppp0 проходит через eth0, и не допустит его, если я не добавлю эту политику. Это верно?
Вы не упомянули свой rules
файл. Вы добавили соответствующие записи в rules
файл, чтобы разрешить трафик TCP-порта 1723 и GRE (IP-протокол 47) на ваш сервер pptp? Видеть эта страница для подробностей.
Ответ на обновление
Попробуйте заменить vpn all ACCEPT
с эквивалентным набором политик
vpn fw ACCEPT
vpn wan ACCEPT
vpn lan ACCEPT
и проверьте, все ли работает. Если это так, затем попробуйте удалить каждую из этих политик одну за другой, каждый раз проверяя, все ли по-прежнему работает, чтобы перейти к минимальному набору политик. Возможно ли, что единственная политика, которую вам действительно нужно добавить, это vpn wan ACCEPT
?