LINUX.ORG.RU
ФорумAdmin

Проброс трафика и ddns

 , , ,


0

2

Дано:

Сервер AWS, задача перебросить входящий трафик по конкретному порту 35000 на домашний комп.

AWS c белым входящим IP 18.132.*., дома серый, привязан к siski.ddns.net.

Создал /etc/init.d/port_forward

#!/bin/bash
echo "1"> /proc/sys/net/ipv4/ip_forward

RemoteIP="$(getent hosts siski.ddns.net | awk '{ print $1 }')"

iptables -F
iptables -t nat -A PREROUTING -p tcp --dport 35000 -j DNAT --to-destination $RemoteIP:35000
iptables -t nat -A POSTROUTING -d 18.132.***.** -p tcp -m tcp --dport 35000 -j MASQUERADE

дал права запуска chmod 755 /etc/init.d/port_forward

вставил в автозагрузку cp -s /etc/init.d/port_forward /etc/rc3.d/S90port_forward

В кроне под su по десять минут обновление правила ради проверки ddns

*/10 * * * * etc/init.d/port_forward

Все ли нормально? Так работает, но что может глюкнуть?

★★★★★

Последнее исправление: One (всего исправлений: 1)

Вам нужно изменять всего одно правило в iptables, а вы очищаете все правила.

Не понятно зачем вам -j MASQUERADE правило.

mky ★★★★★
()

iptables -t nat -A POSTROUTING -d 18.132.***.** -p tcp -m tcp --dport 35000 -j MASQUERADE

-d это $RemoteIP а не локальный. А работает у вас видимо по причине того что есть и другие правила в таблице nat
И как написали выше непонятен смысл вот этого iptables -F от слова совсем

anc ★★★★★
()
Ответ на: комментарий от mky

Хм, спасибо. Разберусь

One ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.