У меня есть виртуальная машина в Google Cloud, служащая шлюзом vpn. Я выполнил шаги, указанные в этой документации https://cloud.google.com/vpc/docs/special-configurations#settingupvpn
Я использую ipsec.conf:
conn cnt
authby=psk
auto=start
dpdaction=hold
esp=3des-sha1
forceencaps=yes
ike=3des-sha1-modp1024
ikelifetime=1440m
keyexchange=ikev1
mobike=no
type=tunnel
left=%any
leftid=x.x.x.x
leftsubnet=10.0.1.0/24
leftauth=psk
leftikeport=4500
right=x.x.x.x
rightsubnet=0.0.0.0/0
rightauth=psk
rightikeport=4500
Все работает нормально, пока я не запустил сервер strongswan. Соединение vpn установлено успешно, но после его успешного завершения сеанс ssh завершается неудачно, и я не могу запустить его снова. Я использовал консоль браузера, пытался из оболочки gc, пытался со своего компьютера, и он меня не пускает.
Ошибка, которую я получил, говорит:
OpenSSH_7.4p1 Debian-10+deb9u6, OpenSSL 1.0.2r 26 Feb 2019
debug1: Reading configuration data /home/myusername/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "x.x.x.x" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.
Он остается там пару минут, а затем я получил эту ошибку:
ssh: connect to host x.x.x.x port 22: Connection timed out
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
Я пробовал использовать другие ключи ssh, удалил уже созданные и создал новые, и это не сработало.
Я также проверил брандмауэр и считаю, что он правильно настроен, но я также думаю, что проблемы кроются в нем.
Я настроил брандмауэр с помощью команды:
gcloud compute firewall-rules create ssh --source-ranges 0.0.0.0/0 \
--allow tcp:22 \
--network vpn-network
Я также изменил приоритет этого правила брандмауэра и все еще не работаю.
Я также повторил этот процесс с нуля с другим экземпляром, IPS и регионами, и соединение ssh не работает, как только vpn стабилизируется.
Я также пытался увеличить размер диска, но это не сработало.
Я подключился к последовательной консоли, и похоже, что все в виртуальной машине работает нормально, а VPN работает должным образом.
Любая помощь будет очень оценена :)
Вы можете сделать traceroute и подтвердить, где заблокирован сетевой трафик через порт 22:
$ traceroute -T -p 22 <IP address>
Также проверьте, настроены ли у вас правильные правила брандмауэра на вашем локальном сайте, чтобы разрешить сетевой трафик через порт 22.
Если правила локального брандмауэра верны, вы можете поделиться здесь результатом трассировки.