#!/bin/sh # network : ipv6/mask || dns6/mask #local network="$network;$net" # ruleOut : iptables -t filter -A OUTPUT -o ""$eth"" -j ""$rulesOut"" # ruleIn : iptables -t filter -A INPUT -i ""$eth"" -j ""$rulesIn"" # dropOut : iptables -t filter -A OUTPUT -o ""$eth"" -j ""$rulesOut"" # dropIn : iptables -t filter -A INPUT -i ""$eth"" -j ""$rulesIn"" #NETFILTER6_INPUTIN=eth0 OUT= MAC=00:1d:72:aa:49:e3:00:24:1d:13:33:ef:86:dd SRC=fe80:0000:0000:0000:0224:1dff:fe13:33ef # DST=fe80:0000:0000:0000:021d:72ff:feaa:49e3 LEN=96 TC=0 HOPLIMIT=255 FLOWLBL=653516 PROTO=ICMPv6 TYPE=134 CODE=0 MARK=0xc # === TYPE 133 : Router Solicitation #NETFILTER6_OUTPUTIN= OUT=bond54 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=ff02:0000:0000:0000:0000:0000:0000:0002 LEN=56 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=133 CODE=0 MARK=0x17 local icmpOut="$icmpOut;icmp | -s "${ll6}" -d ff02::2 -p icmpv6 --icmpv6-type 133/0 -m hl --hl-eq 255" # === TYPE 135 : Neighbor Solicitation === #NETFILTER6_OUTPUTIN= OUT=bond83 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=fe80:0000:0000:0000:0000:bbff:fe64:0475 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0x17 local icmpOut="$icmpOut;icmp | -s "${ll6}" -d "${ll6}/10" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=br0 SRC=fe80:0000:0000:0000:0000:bbff:fe79:24fe #DST=fec0:0010:0003:0054:0000:0000:0000:0004 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0x12 local icmpOut="$icmpOut;icmp | -s "${ll6}/128" -d "${net6}" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=bond83 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=ff02:0000:0000:0000:0000:0001:ff00:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xc local icmpOut="$icmpOut;icmp | -s "${ll6}/128" -d ff02::1/16 -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=br0 SRC=fec0:0010:0001:0090:0000:0000:0000:0001 # DST=ff02:0000:0000:0000:0000:0001:ff00:0004 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xa local icmpOut="$icmpOut;icmp | -s "${ip6}/128" -d ff02::1/16 -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=br0 OUT= MAC=02:00:bb:64:04:75:36:6a:4e:58:a8:fe:86:dd SRC=fec0:0010:0002:0083:0000:0000:0000:0150 # DST=fec0:0010:0002:0083:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0x14 local icmpIn="$icmpIn;icmp | -s "${net6}" -d "${ip6}/128" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=bond90 OUT= MAC=33:33:ff:00:00:04:02:00:bb:04:54:65:86:dd:60:00:00:00 SRC=fec0:0010:0001:0090:0000:0000:0000:0001 # DST=ff02:0000:0000:0000:0000:0001:ff00:0004 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0x17 local icmpIn="$icmpIn;icmp | -s "${net6}" -d ff02::1/16 -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=eth0 OUT= MAC=33:33:ff:aa:49:e3:08:f4:58:26:81:f7:86:dd SRC=fe80:0000:0000:0000:0af4:58ff:fe26:81f7 # DST=ff02:0000:0000:0000:0000:0001:ffaa:49e3 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=659270 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xc local icmpIn="$icmpIn;icmp | -s "${ll6}/64" -d ff02::1/16 -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=bond83 OUT= MAC=02:01:01:aa:49:e3:02:00:bb:64:04:75:86:dd:60:00:00:00 SRC=fe80:0000:0000:0000:0000:bbff:fe64:0475 # DST=fec0:0010:0002:0083:0000:0000:0000:0004 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0x21 local icmpIn="$icmpIn;icmp | -s "${ll6}/64" -d "${ip6}/128" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=bond54 OUT= MAC=02:00:02:aa:49:e3:02:00:bb:79:24:fe:86:dd:60:00:00:00 # SRC=fe80:0000:0000:0000:0000:bbff:fe79:24fe DST=fe80:0000:0000:0000:021d:72ff:feaa:49e3 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0x17 local icmpIn="$icmpIn;icmp | -s "${ll6}/64" -d "${ll6}" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" # === TYPE 136 : Neighbor Advertisement === #NETFILTER6_OUTPUTIN= OUT=bond54 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x17 #NETFILTER6_OUTPUTIN= OUT=bond54 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=ff02:0000:0000:0000:0000:0000:0000:0016 LEN=116 TC=0 HOPLIMIT=1 FLOWLBL=0 OPT ( ) PROTO=ICMPv6 TYPE=143 CODE=0 MARK=0x17 local icmpOut="$icmpOut;icmp | -s "${ll6}/128" -d ff02::1/16 -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=bond90 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=fe80:0000:0000:0000:0000:bbff:fe04:5465 LEN=64 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x17 local icmpOut="$icmpOut;icmp | -s "${ll6}/128" -d "${ll6}/10" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=bond54 SRC=fec0:0010:0003:0054:0000:0000:0000:0004 # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x17 # NETFILTER6_OUTPUTIN= OUT=eth0 SRC=2a02:842a:285a:9201:1d85:6542:8441:d644 # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x14 local icmpOut="$icmpOut;icmp | -s "${ip6}/128" -d ff02::1/128 -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=eth0 OUT= MAC=33:33:00:00:00:01:d4:6a:6a:43:ac:69:86:dd SRC=2a02:842a:285a:9201:e4c6:5f2e:bf96:b9d2 # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0xc local icmpIn="$icmpIn ;icmp | -s "${net6}" -d ff02::1/128 -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=br0 SRC=fec0:0010:0003:0054:0000:0000:0000:0001 # DST=fec0:0010:0003:0054:0000:0000:0000:0004 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x12 local icmpOut="$icmpOut;icmp | -s "${ip6}/128" -d "${net6}" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=bond54 OUT= MAC=00:1d:72:aa:49:e3:02:00:bb:79:24:fe:86:dd:60:00:00:00 SRC=fec0:0010:0003:0054:0000:0000:0000:0001 # DST=fec0:0010:0003:0054:0000:0000:0000:0004 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x18 local icmpIn="$icmpIn ;icmp | -s "${net6}" -d "${ip6}/128" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=bond54 SRC=fec0:0010:0003:0054:0000:0000:0000:0004 # DST=fe80:0000:0000:0000:0000:bbff:fe79:24fe LEN=64 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x18 local icmpOut="$icmpOut;icmp | -s "${ip6}/128" -d "${ll6}/64" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=bond54 OUT= MAC=02:00:02:aa:49:e3:02:00:bb:79:24:fe:86:dd:60:00:00:00 # SRC=fec0:0010:0003:0054:0000:0000:0000:0001 DST=fe80:0000:0000:0000:021d:72ff:feaa:49e3 LEN=64 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x17 local icmpIn="$icmpIn ;icmp | -s "${net6}" -d "${ll6}/128" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=bond54 SRC=fe80:0000:0000:0000:021d:72ff:feaa:49e3 # DST=ff02:0000:0000:0000:0000:0000:0000:0016 LEN=116 TC=0 HOPLIMIT=1 FLOWLBL=0 OPT ( ) PROTO=ICMPv6 TYPE=143 CODE=0 MARK=0x17 local icmpOut="$icmpOut;icmp | -s "${ll6}/128" -d "ff02::16" -p icmpv6 --icmpv6-type 143/0 -m hl --hl-eq 1" #for subnet in $(echo "$network" | tr -s ';' ' ');do # === TYPE 135 : Neighbor Solicitation === #NETFILTER6_INPUTIN=eth1 OUT= MAC=33:33:ff:00:00:02:ac:f1:df:79:24:fe:86:dd SRC=fec0:0010:0090:0006:0000:0000:0000:0001 # DST=ff02:0000:0000:0000:0000:0001:ff00:0002 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xf #NETFILTER6_INPUTIN=eth0 OUT= MAC=33:33:ff:64:04:75:a8:a7:95:12:9f:6d:86:dd SRC=2a02:842a:285a:9201:c12e:473e:d874:89e6 # DST=ff02:0000:0000:0000:0000:0001:ff64:0475 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xb # local icmpIn="$icmpIn ;icmp | -s "${subnet}" -d ff02::/16 -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=eth1 SRC=fe80:0000:0000:0000:0213:20ff:fe16:6a85 # DST=fec0:0010:0090:0006:0000:0000:0000:0003 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xb # local icmpOut="$icmpOut;icmp | -s "${ll6}/128" -d "${subnet}" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=eth0 OUT= MAC=00:1b:11:64:04:75:a8:a7:95:12:9f:6d:86:dd SRC=2a02:842a:285a:9201:c12e:473e:d874:89e6 # DST=2a02:842a:285a:9201:021b:11ff:fe64:0475 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0 MARK=0xb # local icmpIn="$icmpIn ;icmp | -s "${subnet}" -d "${ip6}/128" -p icmpv6 --icmpv6-type 135/0 -m hl --hl-eq 255" # === TYPE 136 : Neighbor Advertisement === #NETFILTER6_INPUTIN=eth0 OUT= MAC=33:33:00:00:00:01:d4:6a:6a:43:ac:69:86:dd SRC=2a02:842a:285a:9201:2c91:6dc5:a847:c58c # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0xa #NETFILTER6_INPUTIN=eth0 OUT= MAC=33:33:00:00:00:01:d4:6a:6a:43:ac:69:86:dd SRC=2a02:842a:285a:9201:7158:8bc3:dca1:e492 # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0xa #NETFILTER6_INPUTIN=outbox0 OUT= MAC=33:33:00:00:00:01:70:85:c2:4d:42:68:86:dd SRC=fec0:0010:0090:0006:0000:0000:0000:0098 # DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0xc # local icmpIn="$icmpIn ;icmp | -s "${subnet}" -d ff02::1/128 -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=outbox0 OUT= MAC=ac:f1:df:79:24:fe:00:13:20:16:6a:85:86:dd SRC=fec0:0010:0090:0006:0000:0000:0000:0002 # DST=fe80:0000:0000:0000:aef1:dfff:fe79:24fe LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x12 # local icmpIn="$icmpIn ;icmp | -s "${subnet}" -d "${ll6}/128" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_INPUTIN=enp9s0 OUT= MAC=00:23:ae:00:6f:6a:ac:f1:df:79:24:fe:86:dd SRC=fec0:0010:0090:0006:0000:0000:0000:0001 # DST=fec0:0010:0090:0006:0000:0000:0000:0003 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x10 # local icmpIn="$icmpIn ;icmp | -s "${subnet}" -d "${ip6}/128" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #NETFILTER6_OUTPUTIN= OUT=eth1 SRC=fec0:0010:0090:0006:0000:0000:0000:0002 # DST=fec0:0010:0090:0006:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0x14 #NETFILTER6_OUTPUTIN= OUT=eth1 SRC=fec0:0010:0090:0006:0000:0000:0000:0002 # DST=fec0:0010:0090:0006:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0xd #NETFILTER6_OUTPUTIN= OUT=eth1 SRC=fec0:0010:0090:0006:0000:0000:0000:0002 # DST=fec0:0010:0090:0006:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=136 CODE=0 MARK=0xd # local icmpOut="$icmpOut;icmp | -s "${ip6}/128" -d "${subnet}" -p icmpv6 --icmpv6-type 136/0 -m hl --hl-eq 255" #done