Здравствуйте! Ну вот не получается пробросить порт в локалку.
Заходим на шлюз. # ssh 192.168.3.160 -l root -p 22 - работает.
# Пробрасываем порт в локалку
$IPT -A INPUT -p tcp -m tcp --dport 22160 -j ACCEPT
$IPT -A FORWARD -i ${WAN} -d 192.168.3.160 -p tcp -m tcp --dport 22 -j ACCEPT
$IPT -t nat -A PREROUTING -p tcp --dport 22160 -i ${WAN} -j DNAT --to 192.168.3.160:22
Из интернета # ssh myipaddr -l root -p 22160 - не работает.
Я сходу не вижу проблемы. Вот пример проброса с работающего в данный момент сервера. Попробуй сам сравнить все и проверить.
$IPT -A PREROUTING -t nat -p tcp -i $WAN --dport 22 -j DNAT --to $ASTERISK:22
$IPT -A FORWARD -i $WAN -d $ASTERISK -p tcp --dport 22 -j ACCEPT
Я вижу, что у тебя порядок параметров не такой, какой должен быть. В последнем правиле у тебя -t nat стоит раньше PREROUTING, думаю в этом ошибка. Попробуй с этим поэкспериментировать.
Разобрался в чем дело, но решить пока не могу. Дело не в самих правилах, как оказалось, а в маршрутах.
Если на сервере 3.160 сменить шлюз по умолчанию с 0.253 на 3.100, то работает в точности до наоборот.
Получается если на сервере стоит дефолтный шлюз не тот, через который ломимся, то проброс порта не отрабатывает. Т.е. сам проброс порта работает, но сервер не отвечает. Причем сервер и оба шлюза в одной подсети (прямая видимость).
Получается если на сервере стоит дефолтный шлюз не тот, через который ломимся, то проброс порта не отрабатывает.
Все правильно, так и должно быть. Чтобы работало без дефолтного шлюза, надо маршруты правильные руками писать. Но тогда при обращении к дефолтному порту проброс не будет работать.