Проверка iptables с локального хоста

Из того, что я вижу, вам нужно лишь небольшое изменение кода :просто поставьте "или" в переменную, которая пуста во время первого цикла.

operator=''
for i in ${H//,/ }
do
        sed -i "7i\                      host($i)$operator" "$configPath/$g.conf"
        operator=' or'
done
1
12.11.2019, 16:27
1 ответ

Вы можете использовать сетевоепространство имен и связать его с вашей системой с помощью парыvethинтерфейсов. Таким образом, у вас действительно будет два сетевых стека :хоста и дополнительного сетевого пространства имен. Это будет очень дешево (намного больше, чем виртуальная машина, только сеть отделена )для создания хоста для сканирования. Простейшая команда для управления этим — ip netns(, которая предназначена для поддержки сетевых пространств имен путем монтирования ссылки на них, даже если их не использует ни один процесс ):

.
ip netns add scanner
ip link add name veth0 type veth peer netns scanner name veth0
ip address add 192.0.2.2/24 dev veth0
ip -n scanner address add 192.0.2.3/24 dev veth0
ip link set veth0 up
ip -n scanner link set lo up #not really needed, but can avoid a few surprising results
ip -n scanner link set veth0 up
ip netns exec scanner /path/to/my/probing_service...

Теперь вы можете сканировать 192.0.2.2 с 192.0.2.3, и это не будет использовать lo . Конечно, все зависит от правил вашего брандмауэра (, вам придется адаптировать IP-адреса, имена интерфейсов, и то, и другое или некоторые другие вещи ).

0
27.01.2020, 23:57

Теги

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