rendered paste body
#!/bin/bash
#version 1.1
. /lib/lsb/init-functions
INTERNET="eth1"
SERVICII="http ssh" # servicii (porturi) care pot fi accesate din internet
case "$1" in
start)
log_daemon_msg "Starting Firewall" "firewall"
modprobe ip_conntrack_ftp
iptables -P INPUT DROP # blocheaza tot
iptables -A INPUT -i ! ${INTERNET} -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # permite pachetele din conexiuni deja stabilite
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# accepta conexiuni noi pe porturile din $SERVICII
for i in ${SERVICII}; do
iptables -A INPUT -p tcp --dport ${i} -m state --state NEW -j ACCEPT
done
# NAT, daca nu aveti nevoie, stergeti linia
iptables -t nat -A POSTROUTING -o ${INTERNET} -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
#Protectii SYN attack
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#Deschid port pentru torrent
iptables -t nat -I PREROUTING -p tcp --dport 22769 -i ${INTERNET} -j DNAT --to 192.168.0.3
iptables -t nat -I PREROUTING -p udp --dport 22769 -i ${INTERNET} -j DNAT --to 192.168.0.3
#DC
iptables -t nat -I PREROUTING -p tcp --dport 22768 -i ${INTERNET} -j DNAT --to 192.168.0.3
iptables -t nat -I PREROUTING -p udp --dport 22768 -i ${INTERNET} -j DNAT --to 192.168.0.3
#torrent
iptables -t nat -I PREROUTING -p tcp --dport 22770 -i ${INTERNET} -j DNAT --to 192.168.0.2
iptables -t nat -I PREROUTING -p udp --dport 22770 -i ${INTERNET} -j DNAT --to 192.168.0.2
#DC
iptables -t nat -I PREROUTING -p tcp --dport 22771 -i ${INTERNET} -j DNAT --to 192.168.0.2
iptables -t nat -I PREROUTING -p udp --dport 22771 -i ${INTERNET} -j DNAT --to 192.168.0.2
#Xchat file transfer
iptables -t nat -I PREROUTING -p tcp --dport 22772:22780 -i ${INTERNET} -j DNAT --to 192.168.0.2
log_end_msg $?
;;
stop)
log_begin_msg "Stopping Firewall"
iptables -F INPUT
iptables -F FORWARD
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
# opreste NAT, daca nu aveti nevoie, stergeti linia
iptables -t nat -F POSTROUTING
iptables -F -t nat
echo 0 > /proc/sys/net/ipv4/ip_forward
log_end_msg $?
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
log_success_msg "usage: $0 {start|stop|restart}"
esac
exit 0