@garirobert

Как пробросить порт через ufw в Ubuntu?

Доброго всем дня!
Роутер Keenetic раздает некий пул адресов в локальной сети, адрес шлюза - 192.168.1.1.
Также на этом роутере настроено приложение SSTP VPN-server, клиенты которого так же получают ip вида 192.168.1.х.
Имеется VPS сервер с Ubuntu, который является клиентом SSTP VPN сервера. Компьютеры локальной сети пингуются из VPS, пинг в обратную сторону так же имеется.
Задача - получить доступ по SMB к одному из компьютеров в локальной сети при обращении по внешнему ip-адресу VPS (знаю, что идея открыть 445 порт на весь интернет - крайне плоха, но временно необходимо). Расшаренные папки в этом компьютере из локальной сети доступны.
Что сделано.
1. Включено перенаправление пакетов в /etc/ufw/sysctl.conf
2. В /etc/ufw/before.rules добавлены правила:
*nat
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 445 -j DNAT --to-destination 192.168.1.х:445
-A POSTROUTING -s 192.168.1.х -o eth0 -j MASQUERADE
COMMIT
В iptables правила добавляются.
Вроде этого должно хватить, но доступа нет. Что я делаю не так?
  • Вопрос задан
  • 450 просмотров
Пригласить эксперта
Ответы на вопрос 1
@darkfire13
Здесь и сейчас dieg.info
С виду у вас правильно. Правила у вас прописаны для таблицы NAT. Ниже работающий у меня пример на чистом iptables. Но только я пробрасываю на localhost

iptables -t nat -I PREROUTING -p tcp -d $внешний_IP/24 --dport 6607 -j DNAT --to-destination 127.0.0.1:3306

Включаем NAT, не забудьте заменить eth0 на имя своего внешнего интерфейса
sysctl -w net.ipv4.conf.eth0.route_localnet=1

Проверьте sysctl.conf еще раз. Не понял, а при чем здесь /etc/ufw/sysctl.conf? Вам нужен /etc/sysctl.conf
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы