Назад | Перейти на главную страницу

Правило Iptables REDIRECT не действует

У меня есть VPS, доступный через hello.com, запускает ubuntu и минимальный скрипт Python, который обслуживает некоторый HTML-контент. Скрипт python прослушивает порт 8069. hello.com:8069 работает, как ожидалось, но мне также нужно получить доступ к скрипту Python из порта hello.com:80.

Я провел небольшое исследование и, по-видимому, прослушивание портов ниже 1000 возможно только с root, что не подходит по соображениям безопасности. Единственное реальное решение, которое я нашел, - это перенаправление порта iptables.

Я попытался установить правило REDIRECT в таблице nat, но посетив hello.com:80 по-прежнему дает мне ошибку тайм-аута.

Вот мой /etc/iptables/rules.v4

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8069
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 22-j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8069 -j ACCEPT
COMMIT

Я следовал нескольким руководствам и установил net.ipv4.conf.eth0.forwarding=1 и net.ipv4.ip_forward=1. Что-то мне не хватает?

Детали сервера:

root@hello.com:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:        14.04
Codename:       trusty

root@hello.com:/# iptables -V
iptables v1.4.21

root@hello.com:/# ufw version
ufw 0.34~rc-0ubuntu2
Copyright 2008-2012 Canonical Ltd.

root@hello.com:/# netstat -i
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0      2067      0      0 0          1879      0      0      0 BMRU
lo        65536 0       637      0      0 0           637      0      0      0 LRU