Переадресация порта DD-WRT не работает для внутренней подсети
У меня роутер с прошивкой dd-wrt. Я настроил 2-й IP-адрес с помощью команд Iptables и переадресовал один порт. Работает нормально. Однако это не работает внутри. Попытка перейти внутрь на 89.25.1.1:443 не сработает. Просто внешне.
# Ip for INTRANET
ifconfig vlan2:1 89.25.1.1 netmask 255.255.255.248 broadcast 89.25.1.15
# Routes for IIS HTTPS
iptables -t nat -I POSTROUTING -o vlan2 -s 192.168.51.7 -j SNAT --to 89.25.1.1
iptables -t nat -I PREROUTING -i vlan2 -d 89.25.1.1 -p tcp --dport 443 -j DNAT --to 192.168.51.7:443
iptables -I FORWARD -i vlan2 -d 192.168.51.7 -p tcp --dport 443 -j ACCEPT
Как я мог это исправить, чтобы он работал и внутри?
1 ответ
Я не знаю, как выглядят ваши интерфейсы. я догадываюсь vlan2
Ваш внешний интерфейс, что означает, что проблема в этом правиле:
iptables -t nat -I PREROUTING -i vlan2 -d 89.25.1.1 -p tcp --dport 443 -j DNAT --to 192.168.51.7:443
-i vlan2
означает, что правило соответствует, только если пакет поступает на vlan2
интерфейс - что это не так, он приходит из внутренней сети, так что это vlan1
или как там это называется в вашей конфигурации. Для того, чтобы иметь тот же самый dnat, было бы хорошо просто пропустить ограничение интерфейса с помощью -i
параметр полностью, т.е. просто используйте
iptables -t nat -I PREROUTING -d 89.25.1.1 -p tcp --dport 443 -j DNAT --to 192.168.51.7:443