Назад | Перейти на главную страницу

gitlab-ee на GCE периодически перестает принимать трафик, но снова работает после перезапуска

TL; DR; У меня есть gitlab, работающий на виртуальной машине GCE. Иногда виртуальная машина перестает принимать трафик, как будто задействован внешний брандмауэр. сброс виртуальной машины все исправляет. Я могу использовать инструменты Google для ssh. Изнутри все выглядит нормально.

Мой вопрос: как мне это остановить?

более длинная версия

У меня есть экземпляр GCE, на котором я запускаю gitlab (9.5.1-ee).

lsb_release -a
=> 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.04
Release:        17.04
Codename:       zesty

Я подключаюсь к экземпляру по ssh и:

sudo tail -f /var/log/gitlab/nginx/gitlab_access.log

доступ к моему экземпляру через мой брокер работает нормально и регистрируется обычным способом. Ssh'ing в виртуальную машину и выполнение curl также работают должным образом.

Теперь о странной части. Я уже давно бьюсь об этом.

Иногда экземпляр gitlab просто перестает работать. Я не могу git pull / push. Я не могу получить доступ к веб-приложению в моем браузере. когда я отслеживаю журнал доступа, как раньше, я не получаю никакой новой информации при попытке доступа к экземпляру извне (через браузер или что-то еще), но выполнение завитков изнутри виртуальной машины работает так же.

Как будто на пути стоит брандмауэр. На самом деле не должно быть.

Затем я сбрасываю виртуальную машину, и какое-то время все работает нормально. А потом снова ломается.

Это похоже на проблему с инфраструктурой Google, но я ничего не могу найти в журналах.

Любая помощь будет принята с благодарностью.

ОБНОВИТЬ

Я всегда могу пинговать свой домен gitlab изнутри виртуальной машины, и я не могу пинговать его, когда он работает. Это определенно не DNS.

Я решил, что могу увидеть, где останавливается трафик, выполнив traceroute, и он действует практически одинаково, идет ли он вверх или вниз. Например:

  1   192.168.12.1  10.350ms  2.163ms  4.095ms 
  2   196.41.120.41  51.029ms  14.084ms  5.177ms 
  3   196.41.120.37  34.846ms  38.931ms  3.306ms 
  4   196.41.97.74  11.717ms  7.113ms  5.196ms 
  5   74.125.146.178  7.322ms  18.239ms  8.329ms 
  6   66.249.95.8  209.010ms  203.518ms  176.016ms 
  7   64.233.175.113  174.606ms  167.839ms  166.019ms 
  8   209.85.252.120  174.138ms  169.820ms  173.657ms 
  9   108.170.234.139  196.385ms  169.107ms  168.493ms 
 10   *  *  *  

Я не вижу здесь полезного паттерна.

Кроме того, это началось случайно на прошлой неделе. Никто не трогал ВМ. Я запустил несколько обновлений после того, как начал происходить фанк, и ничего не исправил.

Насколько я могу судить, что-то не так с инфраструктурой, поддерживающей мой vm. Это похоже на то, что есть брандмауэр, который иногда появляется просто для развлечения, а затем исчезает, когда я перезагружаюсь.

Серьезно в тупике. некоторая помощь была бы хороша

обновление 2

ufw status сообщает мне, что брандмауэр отключен. Всегда. Так что не похоже, что внутренний брандмауэр виртуальной машины волшебным образом включается и выключается. Насколько я могу судить, трафик вообще не достигает виртуальной машины.

обновление 3

Использование nmap с моей локальной машины, когда gitlab не отвечает:

nmap -Pn x.x.x.x                                                                  
Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-30 12:40 SAST
...
Stats: 0:02:48 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 83.50% done; ETC: 12:44 (0:00:33 remaining)
Nmap scan report for x.x.x.x.bc.googleusercontent.com (35.187.189.117)
Host is up.
All 1000 scanned ports on x.x.x.x.bc.googleusercontent.com (x.x.x.x) are filtered

Nmap done: 1 IP address (1 host up) scanned in 201.62 seconds

И когда gitlab отвечает:

Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-30 12:47 SAST
Nmap scan report for x.x.x.x.bc.googleusercontent.com (x.x.x.x)
Host is up (0.26s latency).
Not shown: 994 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
443/tcp  open   https
3389/tcp closed ms-wbt-server
4567/tcp open   tram
8080/tcp closed http-proxy

И от виртуальной машины вывод nmap будет одинаковым независимо от того, отвечает gitlab или нет:

Starting Nmap 7.40 ( https://nmap.org ) at 2017-08-30 10:48 UTC
Nmap scan report for x.x.x.x.bc.googleusercontent.com (x.x.x.x)
Host is up (0.00069s latency).
Not shown: 994 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
443/tcp  open   https
3389/tcp closed ms-wbt-server
4567/tcp open   tram
8080/tcp closed http-proxy
Device type: general purpose|specialized|WAP|PBX|phone|media device
Running (JUST GUESSING): Linux 3.X|4.X (89%), Crestron 2-Series (88%), Asus embedded (88%), Vodavi embedded (88%), Google Android 5.X (86%)
OS CPE: cpe:/o:linux:linux_kernel:3.2 cpe:/o:linux:linux_kernel:4.2 cpe:/o:crestron:2_series cpe:/h:asus:rt-n56u cpe:/o:linux:linux_kernel:3.4 cpe:/h:vodavi:xts-ip cpe:/o:google:android:5 cpe:/o:linux:linux_kernel:3.x
Aggressive OS guesses: Linux 3.2 (89%), Linux 4.2 (89%), Crestron XPanel control system (88%), ASUS RT-N56U WAP (Linux 3.4) (88%), Linux 3.16 (88%), Vodavi XTS-IP PBX (88%), Android 5.0 - 5.1 (86%), Android 5.1 (86%), Linux 3.13 (86%), Linux 3.2 - 3.10 (86%)
No exact OS matches for host (test conditions non-ideal).

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 24.30 seconds

Это был SshGuard. Не уверен, почему он решил, что мой IP-адрес локальной сети был злым, но все равно. Это просто вопрос переконфигурирования.