Перенаправление петлевого трафика через маршрутизатор

В zsh можно использовать рекурсивный шарик:

mkdir ~/epubs
mv -- **/*.epub ~/epubs/

В ударе ≥4, выполненный shopt -s globstar (можно вставить это Ваш ~/.bashrc) затем команда выше. В ksh, выполненном set -o globstar сначала.

Только с инструментами POSIX, выполненными find:

find . -name '*.epub' -exec mv {} ~/epubs \;
5
20.08.2014, 13:03
2 ответа

Проблема в том, что у вас есть маршрут в вашей локальной таблице, который говорит:

$ ip route show table local
[...]
local 192.168.1.101 dev eth0 scope host
[...]

При отправке пакета с [src = 192.168.1.101 dst = 192.168.1.101] и ожидании маршрутизатора отправить этот пакет обратно отраженным (некоторые откажутся от такого рода вещей), вы хотите, чтобы исходящий пакет пропустил этот маршрут, но не возвращающийся пакет.

Для этого вы можете изменить ip rules :

Удалить правило приема всех сообщений для локальной таблицы.

# ip rule del from all table local

И замените его на тот, который этого не делает для пакетов 192.168.1.101-> 192.168.1.101:

# ip rule add not from 192.168.1.101 to 192.168.1.101 table local pref 0

Затем пометьте входящие пакеты с помощью netfilter:

# iptables -t mangle -I PREROUTING -s 192.168.1.101 -d 192.168.1.101 -j MARK --set-mark 1

И скажите правилу ip использовать local таблица только для них:

# ip rule add fwmark 1 table local pref 1

(конечно, вам также понадобится ваш IP-маршрут, добавленный к 192.168.1.101 через 192.168.1.2 в вашей основной таблице)

2
27.01.2020, 20:41

Вот пара решений, которые могут ввести задержку, переупорядочивание пакетов и сброс пакетов на *BSD и Linux.

  1. Используя netfilter для имитации потери пакетов

  2. , используя tc и netem для введения задержек и потерь

  3. Во FreeBSD, используйте dummynet. Вот введение .

1
27.01.2020, 20:41

Теги

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