ДЕВОПСИНА | DevOps | Linux – Telegram
ДЕВОПСИНА | DevOps | Linux
24.9K subscribers
1.89K photos
11K videos
14 files
8.63K links
Авторский канал. Юморим и поднимаем айтишные темы.

Реклама: @maxgrue

MAX: https://max.ru/devopsina

Сисадмин, Девопс, Devops, Linux, SRE, Kubernetes, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Прикол блять, раз в неделю у нас важный созвон, по четвергам после обеда планов никакие не строю, сегодня аналогично. Прихожу сегодня на созвон, узнаю что ключевых людей на нем не будет и через 2 минуты все прощаются и расходятся. ЧО???????

Я сука дневной сон проебал, не съездил по делам, весь день готовился чтобы потом 2 минуту еблом посветить??? Ну ебаны пассатижи. После этого все настроение пропало и я пошел играть в магнитный конструктор, впизду такие подставы. Созвоны ЗЛО!

А вообще организм нихуя не понимает что завтра вроде и пятница, но на самом деле как будто четверг. Все эти переносы дней тоже великое ЗЛО! Получается я на день позже только смогу пивом обхуярится, залупа какая-то.
Если тебе приходится выбирать между одним злом и другим, предпочти НЕ выбирать вообще
Не думал, что вопрос будет актуальный, но оказалось, что очень немногие знают как правильно рулить iptables для docker контейнеров. Дал задачу двум инженерам мидлам:

1. На серваке крутится контейнер с nginx, в мир смотрят порты 80 и 443
2. Надо чтобы порты 80 и 443 были доступны только для клиентов с определенных IP адресов

Как они ее пытались решить — добавили на хосте правила через iptables. Но правила почему-то не работали, порты 80 и 443 по-прежнему были доступны из вне для всех желающих. Проебавшись полдня они пришли ко мне и сказали — у нас проблема, мы не понимаем что происходит!!! Спаси!!!

Благо что пришли вообще, а то знаю админа который бы переустановил систему и наткнулся бы на те же грабли.

В чем соль. Когда у тебя запущен докер контейнер, у него свое видение на все происходящее, демон докера сам создает свои правила через iptables собственно этим самым настраивая себе необходимую маршрутизацию и все попытки внести изменения в iptables на хостовой машине, как-то уж совсем не работают.

Решение

Добавляешь в свой docker-compose.yml секцию networks и описываешь ее. В данном примере я создал сетку devopsina и привязал ее к сервису nginx.

version: '3.2'

services:
nginx:
image: nginx:1.19.1
container_name: nginx
ports:
- '80:80'
- '443:443'
networks:
- devopsina

networks:
devopsina:
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "false"
com.docker.network.bridge.name: "docker_devopsina"

Далее уже можно на хостовой машине ебануть необходимые правила для iptables. Где <EXTERNAL IP> это айпишник сервера который доступен из вне. А <CLIENT_IP> собственно айпишник клиента, которому мы разрешим конектится к порту 80 и 443. Все!

/sbin/iptables -F DOCKER-USER
/sbin/iptables -I DOCKER-USER -i eth0 -o docker_devopsina -j DROP
/sbin/iptables -I DOCKER-USER -i eth0 -s <EXTERNAL IP> -j RETURN
/sbin/iptables -I DOCKER-USER -i eth0 -p tcp --dport 80 -s <CLIENT IP> -j RETURN
/sbin/iptables -I DOCKER-USER -i eth0 -p tcp --dport 443 -s <CLIENT IP> -j RETURN
/sbin/iptables -I DOCKER-USER -i eth0 -o docker_devopsina -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

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

Если захочется задрочится и прикрутить запуск правил прям после перезапуска контейнеров, велкам ту комментс, рассказывайте пути решения. Я честно не думал, но было бы интересно побрейнштормить.

Да, незабываем указывать актуальный интерфейс, у меня eth0, на железных бывает eno0 или т.п.
This media is not supported in your browser
VIEW IN TELEGRAM
Пришлось сегодня покопаться в коде легаси бекенда, сука, там реально — Паровой Трайк
This media is not supported in your browser
VIEW IN TELEGRAM
Хостим инфраструктуру у одного крупного провайдера, пару раз в год посреди ночи, у графаны начинаются сопли, алертменеджер истошно орет, все спят, под утро отпускает и все работает в прежнем режиме.

По графикам и логам явно видно, что проблему создает провайдер, айпишники становятся недоступны, между серверами пропадает локальная сеть и т.п. забавные перлы происходят.

На вопросы провайдеру — как такое произошло? Они отвечают, у нас все ок, это вы дураки. Предоставляешь им все доказательства, что это у них проблемы были. А они — нет это вы дураки. Ну и как сука с этим бороться? Переезжать к другим? Но где гарантии, что там такого не повторится?

И чо интересно, проекты лежат по 4 часа и нам никакой компенсации за это не предоставляется, по итогу мы проябываем миллионы на продажах.

Посоветуйте вменяемых чуваков, где можно захостится в России, потыкаю хоть, может часть сервисов в них перевезу. Остался бы в DO, но персональные данные там хранить нельзя, законы-хуены.
This media is not supported in your browser
VIEW IN TELEGRAM
Когда продакшен в огне и ты один спасаешь весь мир от волков. В это время твои коллеги... спешат тебе на помощь...
This media is not supported in your browser
VIEW IN TELEGRAM
С пятницей коллеги, хотя это ничего не меняет. Завтра еще одна пятница. И тут я понял, что меня заебало писать ансибл код, заебало вообще настраивать инфраструктуры, заебал вообще весь этот девопс-хуепс

Наверное пора мне подумать в сторону 100% менеджмента, бумажки перебирать, советы умные давать, на созвоны важные ходить, пиджак там носить и зарабатывать денежку именно своей экспертностью.

С другой стороны, чтобы поддерживать экспертность, нужно самому ручками все технологии трогать, а я их не хочу трогать. Получается замкнутый круг. Кароче надо подумать.

Вчера вот вообще хотел пойти в музыкальную школу и научится играть на пианино, посмотрел пару уроков на ютубе и передумал, пиздец там тоже думать надо и ноты учить.
This media is not supported in your browser
VIEW IN TELEGRAM
Джун пытается въехать в новый фреймворк и изучает документацию. Справится с проблемой получается лишь после мастер класса коллеги с более прокаченными скилами
From: Petr Beloborodov
This media is not supported in your browser
VIEW IN TELEGRAM
Когда в огромном датацентре, затопило лишь только твой ламповый сервачок, на котором ты еще не успел за полгода настроить бекапы
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчик уговорил тестировщика, закатить релиз без тестирования, мол — не ссы, все будет нормально
This media is not supported in your browser
VIEW IN TELEGRAM
Ретроспектива. На чекине — Выгоревший разработчик ёбнул в кабину скрам-мастеру
This media is not supported in your browser
VIEW IN TELEGRAM
Мой коллега на досуге собирает забавнейшие штуки из радио конструктора. Зацените, вот одна из них

PS: Отказ от ответственности: Это монтаж из двух видео, в разработке девайса не использовались опасные для человечества вещества. А то щас опять понабегут ребята и начнут жаловаться в РКН
This media is not supported in your browser
VIEW IN TELEGRAM
Я и мой ансибл код

Вообще заметил, что чем больше изучаю ансибл, тем чаще хочется переписать все свои роли и плейбуки.

А если нужно внести какие-то правки в существующий код, то я этого не делаю, по причине — сука, все равно же потом перепишу нормально, а щас ручками сделаю побырому.

Но ПОТОМ почему-то не наступает уже много лет. Интересная и необъяснимая техническая прокрастинация на самом деле.

Как вариант, перестать качать скилы в ансибле и остановится на том уровне, на котором я нахожусь сейчас. Либо вообще выкинуть нахуй этот ансибл и войти в паппет. С другой стороны, нахера я пишу код, я ведь тимлид, пусть другие пишут. Какие-то смешанные чувства в общем.
This media is not supported in your browser
VIEW IN TELEGRAM
Маразм конечно, но с субботой коллеги!

А у меня вся суббота расписана по общим встречам, где большая часть людей нахуй не нужна, включая меня. Но отказаться нельзя, ибо это ОЧЕНЬ важные встречи. По этому поводу мы с коллегами обзавелись замечательной штукой, которая эмулирует медленный интернет.

План такой
Посидим с полчаса на Edge, всех заебем своим иканием, нас выгонят нахуй, профит.

Прога для мака называется Network Link Conditioner. Гугл поможет найти. Под винду есть такая lumsy, а под пингвинов такая dummynet и такая wondershaper. Ну а если через хром пиздаболите, то там встроенная херотень есть скорость резать.

А можно еще по гиковски, на смартфоне включить только поддержку Edge или 3G, раздать инет по вафле на комп и радоваться без всяких установок программ. Универсально хули.
This media is not supported in your browser
VIEW IN TELEGRAM
Когда тимлид зашел на github и увидел твой прекрасный код, который ты писал две недели
This media is not supported in your browser
VIEW IN TELEGRAM
Предложка From: Carrol Cox

Не забывай рассказывать о возможностях твоего проекта или платформы людям (коллегам, контрибьютерам, пользователям).

Если не расскажешь - они сами найдут "что" использовать, и сами решат "как"...
Клабхаус новый, а рожи все старые. Новый купальник и старый ебальник