Изменение исходного MAC-адреса направленных пакетов

У меня есть поле Linux с одним сетевым интерфейсом, и передача IP включила. Скажем, мой IP-адрес 192.168.1.1 и MAC 11:11:11:11:11:11. Когда пакет, который не предназначен для моего хоста, прибудет, он направляется ядром, и исходящий пакет имеет исходный MAC-адрес 11:11:11:11:11:11, т.е. MAC-адрес моего хоста. Я хочу изменить это поведение и установить предопределенный исходный MAC-адрес для всех направленных пакетов. Действительно ли возможно достигнуть этого со стандартными сетевыми инструментами, доступными в Linux? В противном случае действительно ли возможно реализовать это в пространстве пользователя с библиотеками как pcap?

1
задан 21 August 2015 в 11:57
1 ответ

для пакетов, помеченных значениями 0x2 с помощью iptables:

IP_ADDR_ETH0=`ifconfig eth0 | grep 'inet addr'| cut -d ':' -f 2 | cut -d ' ' -f 1 | tr -d '\n'`
iptables -t mangle -A OUTPUT -s ${IP_ADDR_ETH0} -p udp --match multiport --dports 319,320 -o eth0 -j MARK --set-mark 2

tc filter add dev eth0 parent 15:0 protocol ip prio 1 handle 0x2 fw action pedit ex munge eth src set ${MAC_ADDR_ETH1} pipe \
action pedit ex munge ip src set ${IP_ADDR_ETH1}
0
ответ дан 4 December 2019 в 07:15

Теги

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