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

Ведение журнала NAT Iptables

У меня есть коробка, настроенная как маршрутизатор с использованием Iptables (маскарад), регистрирующая весь сетевой трафик.

Эта проблема:

Соединения с IP-адресов LAN в WAN отображаются нормально, т.е. SRC = 192.168.32.10 -> DST = 60.242.67.190

но для трафика, идущего из WAN в LAN, он будет показывать WAN IP в качестве источника, но IP маршрутизатора в качестве пункта назначения, затем маршрутизатор -> LAN IP.

Т.е. SRC = 60.242.67.190 -> DST = 192.168.32.199 SRC = 192.168.32.199 (маршрутизатор) -> DST = 192.168.32.10

Как мне настроить его, чтобы он правильно регистрировал разговоры?

SRC = 192.168.32.10 -> DST = 60.242.67.190 SRC = 60.242.67.190> DST = 192.168.32.10

Любая помощь приветствуется, ура

необходимая информация есть только в таблице отслеживания подключений. Посмотрите conntrack (8), как это получить. Хотя регистрация в реальном времени может быть сложной задачей, возможно, что-то с использованием -j ULOG и ulogd.

Чтобы регистрировать всю необходимую информацию, вам понадобятся два правила журнала. Один для регистрации данных от WAN-интерфейса к маршрутизатору, а второй для регистрации пакета от маршрутизатора к хосту LAN.

Другими словами, по мере прохождения пакета через ваши таблицы маршрутизации пункт назначения будет перезаписан. Если я правильно понимаю, вы хотите увидеть информацию о пакете до его перезаписи и после (чтобы вы могли видеть, на какой хост он собирается).

Правила могут выглядеть примерно так: Существующее правило, которое показывает wan to router:

iptables -I INPUT -m state --state NEW -j LOG --log-prefix " New Incoming Packet"

Новое дополнительное правило:

iptables -I FORWARD -d LAN_HOST_IPADDR -m state --state NEW -j LOG --log-prefix " [>] NEW FORWARD"

Или для дополнительного кредита и для того, чтобы все было немного чище, создайте новую цепочку для трафика, перенаправляемого на LAN HOST, примерно так:

iptables -t nat -N forward_to_mypc
iptables -t nat -A forward_to_mypc -m state --state NEW -j LOG --log-prefix " [>] New Forward"
iptables -t nat -A forward_to_mypc -j DNAT --to <address_of_mypc>

Затем используйте новую цепочку следующим образом:

iptables -t nat -I PREROUTING -i <WANADAPTER> -p tcp --dport 3389 -j forward_to_mypc

Это будет перенаправлять любые TCP-пакеты порта 3389, поступающие в адаптер WAN, на ваш компьютер в локальной сети, и если пакет новый, он будет зарегистрирован.

вы можете попробовать войти в -t nat -L POSTROUTING перед строкой -j SNAT --to-ip ...

HTH Оливер

$ iptables -t nat -I ПОСТРОУТИРОВАНИЕ -o eth0 -j МАСКЕРАД

где eth0 - интерфейс маршрутизатора