#!/bin/sh # network : ipv4.ipv4.ipv4.ipv4/mask || dns/mask # clients : PROTO ; PORT ; UID/GID ; UID/GID ; UID/GID .... | # servers : PROTO ; PORT ; UID/GID ; UID/GID ; UID/GID .... | # forward : PROTO ; PORT | # Multicast #local network="ff02::/16" # -- CLIENT -- # apprentissage ipv6 #local clients="$clients|UDP ;0:65535 ;root/root" #local clients="$clients|TCP ;0:65535 ;root/root" # -- SERVER -- #local servers="$servers|UDP ;0:65535 ;root/root" #local servers="$servers|TCP ;0:65535 ;root/root" # 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"" #for subnet in $(echo "$network" | tr -s ';' ' ');do # # icmp (echo-reply:0/0, echo-request:8/0) # local ruleIn="$ruleIn ;icmp | -d "$ip" -s "$subnet" -p icmpv6 --icmpv6-type 128/0 -m state --state ESTABLISHED,RELATED,NEW" # local ruleOut="$ruleOut;icmp | -s "$ip" -d "$subnet" -p icmpv6 --icmpv6-type 129/0 -m state --state ESTABLISHED,RELATED" # local ruleIn="$ruleIn ;icmp | -d "$ip" -s "$subnet" -p icmpv6 --icmpv6-type 129/0 -m state --state ESTABLISHED,RELATED" # local ruleOut="$ruleOut;icmp | -s "$ip" -d "$subnet" -p icmpv6 --icmpv6-type 128/0 -m state --state ESTABLISHED,RELATED,NEW" # # icmp (Type 1 - Destination Unreachable) # for code in $(seq 1 7);do # local ruleOut="$ruleOut;icmp | -s "$ip" -d "$subnet" -p icmpv6 --icmpv6-type 1/"$code" -m state --state ESTABLISHED,RELATED,NEW" # local ruleIn="$ruleIn ;icmp | -d "$ip" -s "$subnet" -p icmpv6 --icmpv6-type 1/"$code" -m state --state ESTABLISHED,RELATED,NEW" # done #done