Чтобы к ssh в компьютер я должен подключить к его Cisco AnyConnect Совместимую VPN (openconnect) сервер.
Я могу сделать это без проблемы, но я хотел бы только, чтобы ssh трафик был направлен с помощью vpn. Главным образом, потому что я хочу смочь использовать удаленный рабочий стол для доступа к моему компьютеру, и я не могу сделать этого при соединении с vpn.
Действительно ли это возможно? как?
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.9.1 0.0.0.0 UG 0 0 0 eth0
10.1.9.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
128.143.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vpn0
128.143.20.85 0.0.0.0 255.255.255.255 UH 0 0 0 vpn0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.35.48.194 10.1.9.1 255.255.255.255 UGH 0 0 0 eth0
Самый легкий способ сделать это - изменение Ваша таблица маршрутизации.
ЭТО НЕ ОТПРАВЛЯЕТ ТОЛЬКО ТРАФИК SSH, ОН ОТПРАВЛЯЕТ ВЕСЬ ТРАФИК, ОТПРАВЛЕННЫЙ В ЦЕЛЬ SSH.
при соединении VPN Cisco она, вероятно, изменяет маршрут по умолчанию для прохождения через туннеля VPN. Попробуйте следующее, чтобы заставить его отправлять весь трафик кроме трафика, предназначенного для Вашего хоста ssh из Вашего шлюза а не туннеля.
MY_ROUTER=192.168.0.1
SSH_TARGET=192.168.10.12
CISCO_DEV_NAME=ppp0 # not sure what cisco call there tunnel devices check ifconfig -a when connected
# Delete the default route
sudo route del default
# Change the default route back to your router
sudo route add default gw $MY_ROUTER
# Add explicit route for ssh target to go through the tunnel
sudo route add $SSH_TARGET/32 $CISCO_DEV_NAME
я не уверен, как сделать это автоматически, когда Вы соединяете свою VPN, я могу сделать это с pptp, но понятия не иметь о Cisco anyconnect.