|
Packit |
7b22a4 |
#!/bin/bash
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
set -e
|
|
Packit |
7b22a4 |
#set -x
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
# there is no legacy backend to test
|
|
Packit Service |
ca9024 |
[[ $XT_MULTI == *xtables-nft-multi ]] || { echo "skip $XT_MULTI"; exit 0; }
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
# fill arptables manually
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -F
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A INPUT -s 10.0.0.0/8 -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A INPUT -d 192.168.123.1 -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A INPUT --source-mac fe:ed:ba:be:00:01 -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A INPUT --destination-mac fe:ed:ba:be:00:01 -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -N foo
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A foo -i lo -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A foo -l 6 -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A foo -j MARK --set-mark 12345
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A foo --opcode Request -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A foo --h-type 1 --proto-type 0x800 -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A foo -l 6 --h-type 1 --proto-type 0x800 -i lo --opcode Request -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A INPUT -j foo
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A INPUT
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A OUTPUT -o lo -j ACCEPT
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A OUTPUT -o eth134 -j mangle --mangle-ip-s 10.0.0.1
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A OUTPUT -o eth432 -j CLASSIFY --set-class feed:babe
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -A OUTPUT -o eth432 --opcode Request -j CLASSIFY --set-class feed:babe
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -P OUTPUT DROP
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
# compare against stored arptables dump
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
DUMP='*filter
|
|
Packit |
7b22a4 |
:INPUT ACCEPT
|
|
Packit |
7b22a4 |
:OUTPUT DROP
|
|
Packit |
7b22a4 |
:foo -
|
|
Packit |
7b22a4 |
-A INPUT -j ACCEPT -s 10.0.0.0/8
|
|
Packit |
7b22a4 |
-A INPUT -j ACCEPT -d 192.168.123.1
|
|
Packit |
7b22a4 |
-A INPUT -j ACCEPT --src-mac fe:ed:ba:be:00:01
|
|
Packit |
7b22a4 |
-A INPUT -j ACCEPT --dst-mac fe:ed:ba:be:00:01
|
|
Packit |
7b22a4 |
-A INPUT -j foo
|
|
Packit |
7b22a4 |
-A INPUT
|
|
Packit |
7b22a4 |
-A OUTPUT -j ACCEPT -o lo
|
|
Packit |
7b22a4 |
-A OUTPUT -j mangle -o eth134 --mangle-ip-s 10.0.0.1
|
|
Packit |
7b22a4 |
-A OUTPUT -j CLASSIFY -o eth432 --set-class feed:babe
|
|
Packit |
7b22a4 |
-A OUTPUT -j CLASSIFY -o eth432 --opcode 1 --set-class feed:babe
|
|
Packit |
7b22a4 |
-A foo -j ACCEPT -i lo
|
|
Packit |
7b22a4 |
-A foo -j ACCEPT
|
|
Packit |
7b22a4 |
-A foo -j MARK --set-mark 12345
|
|
Packit |
7b22a4 |
-A foo -j ACCEPT --opcode 1
|
|
Packit |
7b22a4 |
-A foo -j ACCEPT --proto-type 0x800
|
|
Packit |
7b22a4 |
-A foo -j ACCEPT -i lo --opcode 1 --proto-type 0x800'
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
diff -u <(echo -e "$DUMP") <($XT_MULTI arptables-save | grep -v "^#")
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
# make sure dump can be restored and check it didn't change
|
|
Packit |
7b22a4 |
|
|
Packit |
7b22a4 |
$XT_MULTI arptables -F
|
|
Packit |
7b22a4 |
$XT_MULTI arptables-restore <<<$DUMP
|
|
Packit |
7b22a4 |
diff -u <(echo -e "$DUMP") <($XT_MULTI arptables-save | grep -v "^#")
|