Я пытаюсь перенаправить все входящие интернет-запросы на порт 80 на мой локальный компьютер (на котором работает Apache), текущая iptables работает (перенаправляет входящий интернет-трафик на мой рабочий стол, но если я пытаюсь получить доступ к нему из локальной сети, он выиграл ' т работа.
Интерфейс, соединяющий мой сервер Ubuntu с Интернетом, - это ppp0 (DSL-соединение через мой маршрутизатор, который находится в режиме моста), который подключен к eth0, а eth1 подключен к моей внутренней локальной сети.
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o ppp0 -j MASQUERADE
iptables -A INPUT -i ppp0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#port forwarding
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.2:80
iptables -A FORWARD -i ppp0 -p tcp --dport 80 -j ACCEPT
также протестирован с
iptables -t nat -A PREROUTING -i lo -p tcp --dport 80 -j DNAT --to-destination 192.168.2.2:80
нет везения там
Что я смог собрать (через логи), так это то, что доступ к ip внешнего сервера напрямую из локальной сети идет непосредственно к eth1, что понятно (я думаю).
Итак, что мне сейчас нужно (я полагаю), это правило, которое будет перенаправлять трафик локальной сети на eth1 без вмешательства в правило предварительной маршрутизации ppp0 (так как пересылка всего входящего трафика на eth1 на мою локальную машину разорвет интернет-соединение)