Как клонировать вывод цели MASQUERADE с помощью TEE?

Задания Cron запускаются с текущим рабочим каталогом, являющимся домашним каталогом пользователя.

Когда вы выполняете скрипт, он не меняет автоматически рабочий каталог на родительский каталог скрипта. Для этого вам нужно сделать cdв скрипте:

#! /bin/sh -
cd -P -- "$(dirname -- "$0")" || exit
# rest of your script that has nothing bash-specific in it
# by the way.

Или, поскольку этот скрипт не привязан к папке, в которой вы хотите его запустить, сохраните его в общем месте (, например ~/bin), и передайте путь к каталогу в качестве аргумента:

#! /bin/sh -
cd -P -- "${1?no directory provided}" || exit
#...
1
24.11.2019, 20:29
1 ответ

Насколько я знаю, так как невозможно выполнить правило iptables послеnat/POSTROUTING , которое является последним хуком, предоставленным iptables , невозможно использовать iptables для захвата почтового пакета -NAT.


Но это возможно при использованииnftables , так как приоритет хука определяется пользователем . Оператор nft 'sdupявляется прямой заменой iptables ' TEE . Можно смешивать nftables и iptables , если они оба не выполняют NAT (ресурс nat является особым и не может быть правильно разделен между iptables и nftables).Использование iptables -вместо -nftables версии iptables также будет работать (следует соблюдать осторожность при очистке наборов правил )и, конечно, использовать только nft для всего тоже подойдет.

Вот готовый nft набор правил для этого на маршрутизаторе с локальной сетью с NAT на eth1 и его стороной WAN на eth2 , чтобы отправить копию на 192.168.0.3 на стороне локальной сети. как описано в другом вопросе из OP . Поместиться в какой-нибудь файл с именем forwireshark.nft и "загрузиться" с помощьюnft -f forwireshark.nft:

table ip forwireshark {
        chain postnat {
                type filter hook postrouting priority 250; policy accept;
                oif eth2 counter dup to 192.168.0.3 device eth1
        }
}

Здесь важно то, что значение 250 было выбрано выше, чем iptables 'NF_IP_PRI_NAT_SRC(100).

Вот что обычно получает узел wireshark, когда узел ping выполняет ping -c1 8.8.8.8после некоторого бездействия (обратите внимание на странный запрос ARP с «неправильного» IP-адреса, который может не приниматься по умолчанию в некоторых системах):

root@ns-wireshark:~# tcpdump -e -n -s0 -p -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:06:03.074142 82:01:54:27:4d:d7 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.1 tell 192.168.0.2, length 28
21:06:03.074301 9a:80:fb:e6:6a:0a > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.3 tell 140.82.118.4, length 28
21:06:03.074343 7e:0a:6c:12:00:61 > 9a:80:fb:e6:6a:0a, ethertype ARP (0x0806), length 42: Reply 192.168.0.3 is-at 7e:0a:6c:12:00:61, length 28
21:06:03.074387 9a:80:fb:e6:6a:0a > 7e:0a:6c:12:00:61, ethertype IPv4 (0x0800), length 98: 140.82.118.4 > 8.8.8.8: ICMP echo request, id 1633, seq 1, length 64

Я не знаю обоснования порядка mangle/POSTROUTING и nat/POSTROUTING . В любом случае, это часть ограничений iptables ', потому что в nftables , кроме эквивалента mangle/OUTPUT , который является специальнымтипом маршрутадля перенаправления, все другие эквивалентные варианты использования mangle являются частью type filter:на самом деле больше нет отдельного типа mangle . Возможность выбирать порядок приоритетов позволяет делать больше.

1
27.01.2020, 23:40

Теги

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