Вроде проблема то банальная... Но что-то я не доделал. Прочитал несколько статей, в которых всё весьма понятно написано, и у людей всё работает. А у меня не хочет.
Имеем локалку 192.168.199.0/24
Имеем фтп-сервер proftpd с адресом 192.168.199.101
Имеем наипростейший интернет-шлюз с внутренним адресом 192.168.199.150 (он является шлюзом для фтп-сервера) и внешним белым адресом ххх.ххх.ххх.ххх
Хочу сделать банальную вещь -- доступ к фтп-серверу извне. Т.е. хочу пробросить 21-ый порт со шлюза на фтп-сервер.
Сделал следующее:
в файл sysctl.conf прописал
Код:
net.ipv4.ip_forward = 1
в файл /etc/sysconfig/network прописал
Код:
FORWARD_IPV4=yes
Дал команду
Код:
echo "1" > /proc/sys/net/ipv4/ip_forward
в файл /etc/sysconfig/iptables-config прописал
Код:
IPTABLES_MODULES="nf_conntrack_ftp ip_nat_ftp"
А вот сам iptables:
Код: Выделить всё
nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# это чтоб сам фтп-сервер имел выход наружу к репозиториям
-A POSTROUTING -p tcp -m tcp -m multiport -s 192.168.199.101 -o eth0 -j SNAT --to-source ххх.ххх.ххх.ххх --dports 80,8080,21
# А вот этими правилами я пытаюсь сделать проброс портов извне к фтп-серверу.
-A PREROUTING -p tcp -m tcp -d ххх.ххх.ххх.ххх --dport 21 -j DNAT --to-destination 192.168.199.101:21
-A PREROUTING -p tcp -m tcp -d ххх.ххх.ххх.ххх --dport 49152:65534 -j DNAT --to-destination 192.168.199.101:49152-65534
COMMIT
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
# Eth1 -- это сетевуха, смотрящая в локалку.
-A INPUT -i eth1 -j ACCEPT
# форвардинг пока специально открыл для всех
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -m state -s 127.0.0.1 --state RELATED -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -m state -s 127.0.0.1 --state RELATED -j ACCEPT
-A FORWARD -j DROP
-A INPUT -j DROP
COMMIT
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
Но проброс портов всё равно не работает. Что я не доделал?