У меня есть виртуальная машина вычислительного ядра, работающая в Google Cloud Platform ( n1-standard-2
в australia-southeast1-b
).
На экземпляре работает веб-сервер , имеет как внешний, так и внутренний статический IP-адрес, использует сеть и подсеть по умолчанию
и имеет назначенный ему домен.
Через некоторый случайный период времени машина становится недоступной. Мне предстояло найти причину, но когда я попробовал tcptraceroute
, результат был следующим:
Исправен
$ tcptraceroute my.domain.nz 443
Selected device wlp2s0, address 192.168.100.204, port 38543 for outgoing packets
Tracing the path to my.domain.nz (35.189.255.255) on TCP port 443 (https), 30 hops max
1 192.168.100.1 2.982 ms 1.719 ms 1.884 ms
2 192.168.1.254 2.540 ms 1.991 ms 2.091 ms
3 * * *
4 * * *
5 ae8-10.akbr6.global-gateway.net.nz (122.56.116.5) 4.685 ms 3.459 ms 3.439 ms
6 ae7-2.akbr7.global-gateway.net.nz (122.56.119.53) 3.908 ms 2.855 ms 2.693 ms
7 xe5-0-4.sgbr3.global-gateway.net.nz (122.56.127.186) 29.059 ms 30.652 ms 28.932 ms
8 ae2-10.sgbr4.global-gateway.net.nz (202.50.232.246) 27.784 ms 27.875 ms 35.276 ms
9 google-gsw.sgbr4.global-gateway.net.nz (202.50.237.198) 30.394 ms 28.655 ms 28.791 ms
10 108.170.247.33 29.646 ms 29.712 ms 29.606 ms
11 209.85.242.142 29.048 ms 28.481 ms 28.239 ms
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 my.domain.nz (35.189.255.255) [open] 31.312 ms 29.198 ms 29.871 ms
Неработоспособен
$ tcptraceroute my.domain.nz 443
Selected device wlp2s0, address 192.168.100.204, port 41597 for outgoing packets
Tracing the path to my.domain.nz (35.189.255.255) on TCP port 443 (https), 30 hops max
1 192.168.100.1 4.428 ms 1.306 ms 1.813 ms
2 192.168.1.254 2.654 ms 1.908 ms 2.545 ms
3 * * *
4 * * *
5 ae8-10.akbr6.global-gateway.net.nz (122.56.116.5) 102.289 ms 3.407 ms 3.176 ms
6 ae7-2.akbr7.global-gateway.net.nz (122.56.119.53) 4.630 ms 3.817 ms 3.299 ms
7 xe5-0-2.sgbr3.global-gateway.net.nz (122.56.127.178) 119.213 ms 27.778 ms 144.073 ms
8 ae2-10.sgbr4.global-gateway.net.nz (202.50.232.246) 28.512 ms 29.801 ms 144.985 ms
9 google-gsw.sgbr4.global-gateway.net.nz (202.50.237.198) 29.008 ms 132.171 ms 29.510 ms
10 108.170.247.65 28.283 ms 28.180 ms 27.605 ms
11 209.85.242.190 27.815 ms 27.783 ms 27.681 ms
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Destination not reached
Я подозревал, что что-то происходит с нашей локальной сетью, но если я перезагружу виртуальную машину с консоли GCP, мы сможем получить к ней доступ снова.
Если я попытаюсь получить доступ к веб-сайту из своей мобильной сети, он заработает. Ssh и ping / curl с любого удаленного сервера тоже работают.
Не совсем уверен, как отлаживать его дальше и что может быть не так.
Есть идеи?
Винить во всем sshguard
!
После дальнейшего расследования , мы обнаружили, что проблема возникает, если коллега в офисе пытается отправить на сервер (виртуальная машина - это git-сервер) с недопустимым ключом SSH.
Дальнейшая отладка и помощь от briansneddon из Google Cloud Сообщество Slack Я обнаружил проблему с помощью этой команды:
sudo / sbin / iptables -L -v -n
Chain INPUT (policy ACCEPT 33560 packets, 35M bytes)
pkts bytes target prot opt in out source destination
72689 68M sshguard all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 32966 packets, 36M bytes)
pkts bytes target prot opt in out source destination
Chain sshguard (1 references)
pkts bytes target prot opt in out source destination
3259 263K DROP all -- * * 123.123.123.123 0.0.0.0/0
Вы можете видеть, что IP 123.123.123.123
удаляется sshguard
.
sudo / sbin / iptables -F sshguard
. / etc / sshguard / whitelist