Мой домашний компьютер подключается к Интернету через соединение OpenVPN. Тем не менее, я хотел бы иметь возможность подключиться к моему домашнему компьютеру снаружи через SSH. Ssh настроен и работает, но когда я подключаюсь к vpn, ssh доступен только из моей домашней сети.
Я понимаю, что что-то пошло не так, мой маршрутизатор перенаправляет входящие ssh-соединения на мой mac, но затем мой mac отвечает через vpn, так что время подключения истекает. У меня есть pf, настроенный для нескольких других вещей, но я не могу понять, как позволить ssh-ответам обходить vpn с помощью pf. Я сталкивался с другими решениями, которые используют IP-таблицы, таблицы маршрутизации и правила, но я не могу понять, как настроить это на Маверикс.
Я уже давно искал это, но не нашел работающего решения. Любая помощь будет принята с благодарностью!
Обновление: я добавлю (частично) мой текущий файл pf.conf для ясности, с добавленными правилами благодаря MariusMatutiae
#
# Macros
#
vpn_if = "tun0"
lan_if = "en0"
lan_gw = "x.x.x.x"
vpn_gw = "y.y.y.y"
#
# Ruleset
#
pass out on $lan_if route-to ($vpn_if $vpn_gw) from $vpn_if
pass out on $vpn_if route-to ($lan_if $lan_gw) from $lan_if
Обновление № 2: Вот некоторые из правил, которые я пытался заставить это работать (безрезультатно)
# Nat to make replies seem to come from my external ip address
nat on $lan_if -> $ext_ip
# Redirect incoming requests on the lan interface back to the lan interface
rdr pass on $lan_if from ! $lan to any -> ($lan_if)
# Make pf reply to lan interface
pass in quick on $lan_if reply-to ($lan_if $lan_gw)
Я действительно надеюсь, что кто-то может мне помочь!