#!/bin/sh # network : ipv4.ipv4.ipv4.ipv4/mask || dns/mask # clients : PROTO ; PORT ; IFACE ; IFACE ; IFACE .... | # servers : PROTO ; PORT ; IFACE ; IFACE ; IFACE .... | # Only intranet #local network="$network;$net;224.0.0.0/8" # [ MDNS ] #local clients="$clients|UDP ;5353 " #local servers="$servers|UDP ;5353 " # 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"" # SRC=192.168.1.111 DST=239.255.255.250 LEN=165 TOS=0x00 PREC=0x00 TTL=4 ID=18367 PROTO=UDP SPT=56774 DPT=1900 LEN=145 # SRC=10.83.10.7 DST=239.255.255.250 LEN=204 TOS=0x00 PREC=0x00 TTL=1 ID=53044 PROTO=UDP SPT=53517 DPT=1900 LEN=184 MARK=0xb local ruleFwd="$ruleFwd;upnp_igmp | -s "$net" -d 239.255.255.250/32 -p udp --dport 1900" if [ -n "$gw" ];then local ruleFwd="$ruleFwd;upnp_igmp | -s "$gw" -d "$net" -p tcp" # SRC=192.168.1.254 DST=192.168.1.111 LEN=492 TOS=0x00 PREC=0x00 TTL=64 ID=61007 DF PROTO=UDP SPT=1900 DPT=51328 LEN=472 MARK=0x13 local ruleFwd="$ruleFwd;upnp_igmp | -s "$gw" -d "$net" -p udp --sport 1900" local ruleFwd="$ruleFwd;upnp_igmp | -s "$gw" -d "$net" -p tcp" local ruleFwd="$ruleFwd;upnp_igmp | -s "$net" -d "$gw" -p tcp" fi