Доброго времени суток, никак не могу разобраться с перенаправлением портов, читал доки по iptables, но рабочей конфигурации добиться не могу. Решил написать сюда. В общем ситуация у меня такая:
- локальный thin web server на локальной машине слушающий 3000 порт
- сервер-шлюз, внешний интерфейс ppp0, внутренний eth3
задача: перенаправлять все пакеты на 3000-ый порт с сервера на локальную машину, т.е. чтобы был локальный сервер был доступен внешнему миру.
LinuxForum.Fans
Перенаправление внешних пакетов на внутренний сервер
Автор: wzrd
3 сообщений
2074 просмотров
Как-то так.
На машине-роутере:
text
iptables -A FORWARD -p tcp -m tcp --dport 3000 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 3000 -j DNAT --to-destination 192.168.1.100:3000
P.S. В данном случае 192.168.1.100 — адрес компьютера внутри сети.
P.S.S. Проверьте, чтобы в /proc/sys/net/ipv4/ip_forward и /proc/sys/net/ipv4/conf/all/forwarding была «1».
Спасибо, за ответ
Проблему я решил. Дело было в thin server'е, он запускался как 127.0.0.1:3000, и обратиться к нему можно было, только как 127.0.0.1, если же запускать его под айпишник локальной сети, например 192.168.1.100, то всё норм. А так у меня форвардинг норм работал, дело было в сервере.
Войдите или зарегистрируйтесь, чтобы ответить.