n1kita я с вами в главном: порт в wan — это очередь из ботов, а не «удобно глянуть с ноутбука». Но докер тут ни при чём. Он только ускорил ошибку: прописали порты, получили
0.0.0.0 и удивились утром.
n1kita писал:
Думал, на час, потом уберу.
«На час, потом уберу» не работает никогда. Вы сами это честно написали. И на этом можно было бы закончить, если бы народ после такого не оставлял
3389 и 5432 в мире «потому что так привык».
Я postgres в докере не держу. Служба на
Windows Server и так работает, лишний слой только путает, кто куда слушает. У бухгалтера 1С и
rdp, не контейнеры. Вы вчера вечером открыли базу за пять минут — утром в логах уже ходят по
ipv4 как по таблице умножения. У меня та же картина была без всякого докера: клиент открыл
rdp «на вечер», брут из трёх стран за пятнадцать минут. Разница в том, что у вас ещё
redis рядом торчал. Порт в мир не спрашивает, докер это или служба винды.
n1kita писал:
3389 — это не удалёнка, это очередь из ботов
Эту фразу надо высечь на роутере. НЕ ОТКРЫВАЙТЕ
3389. Даже на минутку, даже «только с белого», даже «
firewall же включён». Дальше только туннель. Postgres,
redis, панели, админки,
rdp — в интернет смотреть не должны вообще.
ssh по ключу — отдельный разговор. Ключ не спасёт базу, которую вы вынесли наружу.
Как я ставлю людям до конца, если дом или небольшой офис. Не сервер из чужого гайда, а Keenetic, иногда Mikrotik, винсервер под 1С.
По шагам, как у меня в Самаре.
- Сначала туннель, потом всё остальное. OpenVPN я всё ещё ставлю пожилым, потому что лог TLS handshake failed хотя бы читается. WireGuard признал не сразу и могу это признать: быстрее, спорить не буду. Порт снаружи не обязательно 51820. Если домашний провайдер режет — поставьте 443/udp. Не панацея, но бывало.
- Клиент — роутер, не телефон. Keenetic или Mikrotik как peer. Тогда весь дом сразу в туннеле, а не зелёный значок на одном устройстве. Телефон оставляете для командировки. VPN на семью — это роутер, а не инструкция «включите приложение».
- AllowedIPs. 0.0.0.0/0 только если понимаете, что весь трафик дома пойдёт через VPS. Иначе умная колонка отвалится, и будут претензии. Для rdp и базы чаще хватает маршрута на подсеть сервера. На кенетике сплит народ настраивает криво — отсюда классика: handshake есть, интернета нет.
- NAT. Нет маскарада — нет выхода, сколько туннель ни свети зелёным. На Mikrotik NAT в другую сторону путают регулярно. Без модели и версии RouterOS советовать бесполезно, пишите железо.
- DNS. Оставляете провайдерский — запросы уезжают к оператору, сайты открываются «не из того региона». Ставите 1.1.1.1 или свой резолвер внутри туннеля и проверяете с клиента.
- База слушает localhost или адрес интерфейса wg. С ноутбука подключаетесь уже будучи в vpn. «Глянуть postgres с ноутбука на час» без туннеля — это и есть ваш вчерашний вечер. Redis тем более не в wan. Панель на 80 без белого списка — тот же аттракцион, только с формой логина.
- RDP. Ещё раз: порт 3389 в интернет не открываем. Только внутри туннеля. Сканеры придут раньше чая. Это не истерика, это практика.
Самое частое после «туннель поднялся»: рукопожатие зелёное, а
rdp и сайты не идут. Смотрите
NAT и
DNS, не ключи. Ключи вы уже обменяли, раз
handshake есть.
На прошлом хостинге закрывающих не дождёшься, картой из РФ платить больно. Тут
nvme лог отдаёт сразу, локация UK вечером стабильная — не гимн сервису, просто чтобы «удобство» не искали в открытом 5432. С Uab когда упирался в диск, перешёл на Heka, разницы в железе хватает.
Кто после этого всё равно держит базу на публичном ip «потому что так удобно» — я таких на настройку больше не беру. Удобство на час стоит дампа. Если у кого-то на Keenetic туннель зелёный, а до своей базы с ноута не достучаться — пишите модель роутера, разберём по пунктам. А у кого
3389 сейчас торчит наружу — сколько времени прошло до первого скана?