У меня есть коробка, настроенная как маршрутизатор с использованием 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 - интерфейс маршрутизатора