Хочу назвати цей пост так: Не будьте таки як (Я) «Постійно і постійно вертайте ваш енв назад »
Ранкові історії QA:
Шо то маю вам сказать, Бо сьогодні зранку маю класичну історію з Куа-життя.
Ранок почався з того що сежу і думаю, треба глянути одну штуку на тестовому серваку, на якому я давно не був. Ну і пошов я підключатися через клієнт спочатку і тут дивина. Через клієнт мені пише сервер недоступний і все - нічого типо ребута рестарта апки не помогає) ХММ
Думаю ну окай може сервачок хтось потушив - давай через, Ping і він відповідає, curl теж дістається до сервера, тобто він живий.
А от з клієнта все глухо: ніби апка мертва.
І тут у мене на думці сразу як я це люблю с самого ранку після вихідних(
Ну окай, Перевірив blacklist/banlist чисто. І тут вже починаю підозрювати, що справа може бути у фаєрволі а само ломально.
Як зрозуміти і подивитися це не проблема, Можна подивитись локальні правила через:
netsh advfirewall firewall show rule name=all
Або, якщо є підозрюваний процес, перевірити, чи не заблокований його вихідний трафік по IP/домену.
І тут я згадав, що колись давно, коли тестував (обрив коннекту), я сам собі заблочив ip сервера на рівні фаєрвола
Тобто сервер живий і через курл і пінг я можу нормально його бачити а правило саме для APP з якого я хотів зайти - ну короче ви поняли
Ну і це той самий rule, який мене і підставив:
netsh advfirewall firewall add rule name=BlockTest program="шлях\до\апки.exe" dir=out remoteip=XXX.XXX.XXX.XXX action=block
А відновити все назад можна так:
netsh advfirewall firewall delete rule name=BlockTest program="шлях\до\апки.exe" remoteip=XXX.XXX.XXX.XXX
Ну тут вже підставляєте свій шлях до апки та IP)
Ну що зняв rule цей і одразу все ожило. Сервер нікуди не падав, просто я сам собі «підсипав баг» минулого разу)
Мораль яка: завжди після тестів вертайте енв назад. Бо можна півдня шукати проблему, якої насправді немає.
А це вам від мене бонус корисних команд:
Подивитись всі правила:
netsh advfirewall firewall show rule name=all
Забанити апку/endpoint:
netsh advfirewall firewall add rule name=BlockTest program="шлях\до\апки.exe" dir=out remoteip=XXX.XXX.XXX.XXX action=block
Відновити:
netsh advfirewall firewall delete rule name=BlockTest program="шлях\до\апки.exe" remoteip=XXX.XXX.XXX.XXX
Заблокувати весь трафік на конкретний IP (IP-rule)
netsh advfirewall firewall add rule name=BlockIP dir=out remoteip=XXX.XXX.XXX.XXX action=block
Розблокувати цей IP
netsh advfirewall firewall delete rule name=BlockIP
Заблокувати ICMP (ping)
netsh advfirewall firewall add rule name=BlockPing protocol=icmpv4:any,any dir=in action=block
Розблокувати ICMP
netsh advfirewall firewall delete rule name=BlockPing
Всім гарного дня, друзі 🤗
Обняв, і не забувайте чистити після себе енви 😉
Якщо вам цікаво і хочете, я ще зроблю маленький блок пояснення різниці між program-rule (блокує конкретну апку) і IP-rule (блокує весь трафік на адресу)? Це гарно підсумує, чому ping/curl працювали, а клієнт ні. Тоді не забуваємо про серденько)