IP-таблицы в качестве базового прокси-сервера не функционируют должным образом

Я пытаюсь выполнить простую пересылку пакетов на сервере Ubuntu 14.04 (IP = 192.168.36.217) с помощью iptables. Я хочу принимать входящие пакеты, предназначенные для сервера на конкретном порту, и переписывать их в новый пункт назначения с указанным портом (HTTPS) и исходным IP-адресом, установленным на этот сервер, и исходным портом, настроенным с использованием NAT, поэтому его можно отменить на возвратных пакетах.

Таблицы mangle, raw и security пусты. Все правила всех таблиц имеют значение по умолчанию ACCEPT. У меня есть 1 правило DNAT в PREROUTING и 1 правило SNAT в POSTROUTING. Затем я добавил некоторые правила LOG, чтобы проверить, что происходит. Вот как выглядят таблицы nat и filter:

filter Таблица

Chain INPUT (policy ACCEPT 249 packets, 15888 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1      143  8348 LOG        tcp  --  *      *       10.15.4.115          0.0.0.0/0            LOG flags 0 level 4 prefix "l++: INP of interest: "

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 169 packets, 12148 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 LOG        tcp  --  *      *       0.0.0.0/0            45.45.45.45          LOG flags 0 level 4 prefix "l++: filter\OUTPUT : "

filter Таблица

Chain PREROUTING (policy ACCEPT 2762 packets, 279K bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       33  1672 LOG        tcp  --  *      *       10.15.4.115          0.0.0.0/0            tcp dpt:65001 LOG flags 0 level 4 prefix "l++: nat PRE "
2       15   760 DNAT       tcp  --  *      *       10.15.4.115          0.0.0.0/0            tcp dpt:65001 to:45.45.45.45:45001
3        0     0 LOG        tcp  --  *      *       10.15.4.115          0.0.0.0/0            LOG flags 0 level 4 prefix "l++: nat PRE BOT"

Chain INPUT (policy ACCEPT 263 packets, 46239 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 LOG        all  --  *      *       10.15.4.115          0.0.0.0/0            LOG flags 0 level 4 prefix "l++: nat INP: "

Chain OUTPUT (policy ACCEPT 60 packets, 4285 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 60 packets, 4285 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 LOG        tcp  --  *      *       10.15.4.115          0.0.0.0/0            LOG flags 0 level 4 prefix "l++: nat POST end: "
2        0     0 SNAT       tcp  --  *      em1     10.15.4.115          0.0.0.0/0            to:192.168.36.217
3        0     0 LOG        tcp  --  *      em1     192.168.36.217       0.0.0.0/0            LOG flags 0 level 4 prefix "l++: nat POST after SNAT: "
4        0     0 LOG        tcp  --  *      em1     10.15.4.115          0.0.0.0/0            LOG flags 0 level 4 prefix "l++: nat POST after SNAT what"

Когда я test (от 10.15.4.115: telnet 192.168.36.217 65001), это все, что я вижу в журнале системных сообщений:

May 19 15:20:40 LDAP-Proxy kernel: [1891508.926283] l++: nat PRE IN=em1 OUT=  
MAC=<omitted> SRC=10.15.4.115 DST=192.168.36.217 LEN=52 TOS=0x00 PREC=0x00 
TTL=127 ID=21164 DF PROTO=TCP SPT=59394 DPT=65001 WINDOW=64512 RES=0x00 SYN 
URGP=0

Я полагаю, что у меня есть правило PREROUTING, в которое включены правила LOG. Пакет входит, попадает в правило DNAT и быстро исчезает.

Я с радостью получу любые предложения, идеи, дикие догадки об этом неправильном поведении. Спасибо!

1
задан 19 May 2016 в 23:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: