|
|
- #!/bin/sh
-
- chilli_firewall() {
- local cfg="$1"
-
- local network ifname tun
-
- config_get network "$cfg" network
-
- . /lib/functions/network.sh
- network_get_device ifname ${network:-lan}
-
- if [ "$ifname" = "" ]
- then
- config_get ifname "$cfg" dhcpif
- fi
-
- config_get tun "$cfg" tundev
-
- for n in ACCEPT DROP REJECT
- do
- iptables -F zone_${network}_${n}
- iptables -I zone_${network}_${n} -i $tun -j $n
- iptables -I zone_${network}_${n} -o $tun -j $n
- done
-
- iptables -D forward -i ${ifname} -j zone_${network}_forward
- iptables -A forward -i ${ifname} -j DROP
- iptables -A forward -i $tun -j zone_${network}_forward
-
- iptables -D input -i ${ifname} -j zone_${network}
- iptables -A input -i $tun -j zone_${network}
-
- iptables -I zone_${network} -p tcp --dport 3990 -j ACCEPT
- iptables -I zone_${network} -p tcp --dport 3991 -j ACCEPT
- }
-
- chilli_post_core_cb() {
- config_load chilli
- config_foreach chilli_firewall chilli
- }
|