All pastes #913795 Raw Edit

Someone

public text v1 · immutable
·published 2008-02-22 10:16 UTC
rendered paste body
#!/bin/sh
##################################################################################
# GLOBAL VARIABLES
##################################################################################

IFCONFIG=/sbin/ifconfig
AWK=/bin/awk

EXTIF="eth1"
INTIF="eth0"
echo " External Interface:   $EXTIF"
echo " Internal Interface:   $INTIF"
echo " ---"

EXTIP="`$IFCONFIG $EXTIF | $AWK \
 /$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
echo " External IP: $EXTIP"
echo " ---"


iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -N drop-and-log-it
iptables -A drop-and-log-it -j LOG --log-prefix iptables --log-level info
iptables -A drop-and-log-it -j REJECT

##################################################################################
# FORWARD RULES
##################################################################################

#iptables -A FORWARD -s 192.168.1.124 -o $EXTIF -j DROP

# Allow legitimate e-mail servers
iptables -A FORWARD -s 192.168.10.5 -p tcp -m tcp --dport 25 -j ACCEPT # mail
iptables -A FORWARD -s 192.168.10.6 -p tcp -m tcp --dport 25 -j ACCEPT # arbi
iptables -A FORWARD -s 192.168.10.3 -p tcp -m tcp --dport 25 -j ACCEPT # arbi
iptables -A FORWARD -s 192.168.10.10 -p tcp -m tcp --dport 25 -j ACCEPT # router capriolo
iptables -A FORWARD -s 192.168.1.249 -p tcp -m tcp --dport 25 -j ACCEPT # router torony
iptables -A FORWARD -s 192.168.1.254 -p tcp -m tcp --dport 25 -j ACCEPT # becse bridge
iptables -A FORWARD -s 192.168.3.200 -p tcp -m tcp --dport 25 -j ACCEPT # szabadka
iptables -A FORWARD -s 192.168.3.201 -p tcp -m tcp --dport 25 -j ACCEPT # szabadka
iptables -A FORWARD -s 192.168.1.104 -p tcp -m tcp --dport 25 -j ACCEPT # pdc server tpu
iptables -A FORWARD -s 192.168.6.200 -p tcp -m tcp --dport 25 -j ACCEPT # becse
iptables -A FORWARD -s 192.168.1.252 -p tcp -m tcp --dport 25 -j ACCEPT # arbi torony
iptables -A FORWARD -s 192.168.1.253 -p tcp -m tcp --dport 25 -j ACCEPT # becse router
iptables -A FORWARD -s 192.168.10.4 -p tcp -m tcp --dport 25 -j ACCEPT # ftp server
iptables -A FORWARD -s 192.168.1.248 -p tcp -m tcp --dport 25 -j ACCEPT # tpu router
iptables -A FORWARD -s 192.168.1.109 -p tcp -m tcp --dport 25 -j ACCEPT # csantaver bdc
iptables -A FORWARD -s 192.168.11.251 -p tcp -m tcp --dport 25 -j ACCEPT # router
iptables -A FORWARD -s 192.168.1.129 -p tcp -m tcp --dport 25 -j ACCEPT # cash and carry
iptables -A FORWARD -s 192.168.1.113 -p tcp -m tcp --dport 25 -j ACCEPT # tpu veleprodaja 1
iptables -A FORWARD -s 192.168.1.114 -p tcp -m tcp --dport 25 -j ACCEPT # tpu veleprodaja 2
iptables -A FORWARD -s 192.168.1.61 -p tcp -m tcp --dport 25 -j ACCEPT # bdc server moravica
iptables -A FORWARD -s 192.168.1.200 -p tcp -m tcp --dport 25 -j ACCEPT # bridge tpu
iptables -A FORWARD -s 192.168.1.102 -p tcp -m tcp --dport 25 -j ACCEPT # arbitrator 4
iptables -A FORWARD -s 192.168.2.19 -p tcp -m tcp --dport 25 -j ACCEPT # boris
iptables -A FORWARD -s 192.168.2.200 -p tcp -m tcp --dport 25 -j ACCEPT # alstar
iptables -A FORWARD -s 192.168.1.247 -p tcp -m tcp --dport 25 -j ACCEPT # krivaja
iptables -A FORWARD -s 192.168.10.2 -p tcp -m tcp --dport 25 -j ACCEPT # proxy
iptables -A FORWARD -s 192.168.5.200 -p tcp -m tcp --dport 25 -j ACCEPT # krivaja
iptables -A FORWARD -s 192.168.1.251 -p tcp -m tcp --dport 25 -j ACCEPT # szabadka router
iptables -A FORWARD -s 192.168.2.14 -p tcp -m tcp --dport 25 -j ACCEPT # BORIS
iptables -A FORWARD -s 192.168.2.20 -p tcp -m tcp --dport 25 -j ACCEPT # ALSTAR-B4C3C055
# VIPLC EXTERNAL MAIL SERVER (STCABLE)
iptables -A FORWARD -s 192.168.1.14 -p tcp -m tcp --dport 25 -j ACCEPT # KADR-4
iptables -A FORWARD -s 192.168.1.14 -p tcp -m tcp --dport 110 -j ACCEPT # KADR-4

# Allow HAMACHI for clients
iptables -A FORWARD -s 192.168.1.112 -d 69.25.21.0/255.255.255.0 -j ACCEPT # SLAVICA
iptables -A FORWARD -s 192.168.1.112 -d 69.25.20.0/255.255.255.0 -j ACCEPT # SLAVICA
iptables -A FORWARD -s 192.168.1.86 -d 69.25.21.0/255.255.255.0 -j ACCEPT # MIRKO
iptables -A FORWARD -s 192.168.1.86 -d 69.25.20.0/255.255.255.0 -j ACCEPT # MIRKO

# Block HAMACHI
iptables -A FORWARD -d 69.25.21.0/255.255.255.0 -j REJECT
iptables -A FORWARD -d 69.25.20.0/255.255.255.0 -j REJECT


# Allow TPU Company D.o.o.

iptables -A FORWARD -s 192.168.1.10 -j ACCEPT # csuzdi
iptables -A FORWARD -s 192.168.1.83 -j ACCEPT # csuzdi
iptables -A FORWARD -s 192.168.1.84 -j ACCEPT # csuzdi
iptables -A FORWARD -s 192.168.1.112 -j ACCEPT # slavica
iptables -A FORWARD -s 192.168.1.124 -j ACCEPT # stenli
iptables -A FORWARD -s 192.168.1.16 -j ACCEPT # maria
iptables -A FORWARD -s 192.168.1.17 -j ACCEPT # nemet tibor
iptables -A FORWARD -s 192.168.1.89 -j ACCEPT # kiskaroly
iptables -A FORWARD -s 192.168.6.10 -j ACCEPT # imelda
iptables -A FORWARD -s 192.168.1.150 -j ACCEPT # djurdjica
iptables -A FORWARD -s 192.168.1.15 -j ACCEPT # dir2
iptables -A FORWARD -s 192.168.1.38 -j ACCEPT # antal-home
iptables -A FORWARD -s 192.168.1.40 -j ACCEPT # laptop-becskei
iptables -A FORWARD -s 192.168.1.67 -j ACCEPT # bferi
iptables -A FORWARD -s 192.168.1.195 -j ACCEPT # robi-otthoni
iptables -A FORWARD -s 192.168.1.23 -j ACCEPT # INFO-1
iptables -A FORWARD -s 192.168.1.47 -j ACCEPT # szabo
iptables -A FORWARD -s 192.168.1.144 -j ACCEPT # krsto
iptables -A FORWARD -s 192.168.1.162 -j ACCEPT # timi
iptables -A FORWARD -s 192.168.1.11 -j ACCEPT # sneska
iptables -A FORWARD -s 192.168.1.94 -j ACCEPT # ivana
iptables -A FORWARD -s 192.168.1.150 -j ACCEPT # djurdjica
iptables -A FORWARD -s 192.168.1.165 -j ACCEPT # brindza-home
iptables -A FORWARD -s 192.168.1.163 -j ACCEPT # nebojsa
iptables -A FORWARD -s 192.168.1.108 -d 194.106.162.110 -j ACCEPT # INFO-2 VECTOR FTP
iptables -A FORWARD -s 192.168.1.167 -j ACCEPT # spector360

# allow VNC from outside inside to tpu company
iptables -A FORWARD -d 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 5900 -j ACCEPT

# allow e-bank
iptables -A FORWARD -d 80.93.250.10 -j ACCEPT

# Block all internal clients port 25 access
iptables -A FORWARD -s 196.168.0.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.2.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.3.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.4.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.5.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.6.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.10.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it
iptables -A FORWARD -s 192.168.11.0/255.255.255.0 -p tcp -m tcp --dport 25 -j drop-and-log-it

# Block TPU Company D.o.o.

iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -j REJECT
iptables -A FORWARD -s 192.168.3.0/255.255.255.0 -j REJECT
iptables -A FORWARD -s 192.168.6.0/255.255.255.0 -j REJECT

# Block Hotel Krivaja

iptables -A FORWARD -s 192.168.5.17 -j REJECT # RESTORAN
iptables -A FORWARD -s 192.168.5.18 -j REJECT # SERVER
iptables -A FORWARD -s 192.168.5.19 -j REJECT # APERITIV
iptables -A FORWARD -s 192.168.5.20 -j REJECT # KUGLANA

iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -A FORWARD -i $INTIF -o $INTIF -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT

# VSFTPD SERVER 192.168.10.4
iptables -A FORWARD -i $EXTIF -d 192.168.10.4 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -i $EXTIF -d 192.168.10.4 -p tcp --dport 20 -j ACCEPT

# CAPRIOLOBIKE TERMINAL
iptables -A FORWARD -i $EXTIF -d 192.168.0.27 -p tcp --dport 3389 -j ACCEPT

#########################################################################
# E-MAIL SERVER 192.168.10.5
#########################################################################
# SMTP Server 192.168.10.5
iptables -A FORWARD -i $EXTIF -d 192.168.10.5 -p tcp --dport 25 -j ACCEPT
# POP3 Server 192.168.10.5
iptables -A FORWARD -i $EXTIF -d 192.168.10.5 -p tcp --dport 110 -j ACCEPT
# IMAP Server 192.168.10.5
iptables -A FORWARD -i $EXTIF -d 192.168.10.5 -p tcp --dport 143 -j ACCEPT
# HTTP Server 192.168.10.5
iptables -A FORWARD -i $EXTIF -d 192.168.10.5 -p tcp --dport 80 -j ACCEPT
# HTTPS Server 192.168.10.5
iptables -A FORWARD -i $EXTIF -d 192.168.10.5 -p tcp --dport 443 -j ACCEPT
##########################################################################

##########################################################################
# E-MAIL Server 192.168.2.200
##########################################################################
# SMTP Server 192.168.2.200
iptables -A FORWARD -i $EXTIF -d 192.168.2.200 -p tcp --dport 25 -j ACCEPT
##########################################################################

# IDENT REJECT
iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 113 -j REJECT --reject-with tcp-reset

##################################################################################
# E-mule
##################################################################################

# ROBERT
iptables -A FORWARD -i $EXTIF -o $INTIF -d 192.168.1.195 -p tcp --dport 4662 -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF -d 192.168.1.195 -p udp --dport 4672 -j ACCEPT

##################################################################################
# BitTorent
##################################################################################

iptables -A FORWARD -i $EXTIF -o $INTIF -d 192.168.1.195 -p tcp --dport 8432 -j ACCEPT

##################################################################################
# INPUT RULES
##################################################################################

#iptables -A INPUT -s 192.168.1.124 -j DROP

iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i $INTIF -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# IDENT REJECT
iptables -A INPUT -i $EXTIF -p tcp --dport 113 -j REJECT --reject-with tcp-reset

# ECHO ICMP PING ALLOW
iptables -A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

##################################################################################
# FTP
##################################################################################

iptables -A INPUT -i $EXTIF -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT

# ACTIVE
iptables -A INPUT -i $EXTIF -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT

# PASSIVE
iptables -A INPUT -i $EXTIF -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT


##################################################################################
# OUTPUT RULES
##################################################################################

#iptables -A OUTPUT -s 192.168.1.124 -j DROP

iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 192.168.10.1 -j ACCEPT
iptables -A OUTPUT -s $EXTIP -j ACCEPT

##################################################################################
# PREROUTING
##################################################################################

# VSFTPD SERVER 192.168.10.4
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 21 -j DNAT --to 192.168.10.4:21
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 20 -j DNAT --to 192.168.10.4:20

# CAPRIOLOBIKE TERMINAL
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 50100 -j DNAT --to 192.168.0.27:3389

###############################################################################
# E-MAIL SERVER 192.168.10.5
###############################################################################
# SMTP Server 192.168.10.5
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 25 -j DNAT --to 192.168.10.5:25
# POP3 Server 192.168.10.5
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 110 -j DNAT --to 192.168.10.5:110
# IMAP Server 192.168.10.5
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 143 -j DNAT --to 192.168.10.5:143
# HTTP Server 192.168.10.5
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 80 -j DNAT --to 192.168.10.5:80
# HTTPS Server 192.168.10.5
iptables -t nat -A PREROUTING -p tcp -d $EXTIP --dport 443 -j DNAT --to 192.168.10.5:443
###############################################################################

##################################################################################
# POSTROUTING
##################################################################################

iptables -t nat -A POSTROUTING -s 192.168.10.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.11.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.56.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.4.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.3.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.57.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.58.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.5.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.6.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP

# E-MAIL SERVER
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.5 --dport 80 -j SNAT --to-source 192.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.5 --dport 443 -j SNAT --to-source 192.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.5 --dport 25 -j SNAT --to-source 192.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.5 --dport 110 -j SNAT --to-source 192.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.5 --dport 143 -j SNAT --to-source 192.168.10.1

# VSFTPD Server

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.4 --dport 20 -j SNAT --to-source 192.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -p tcp --dst 192.168.10.4 --dport 21 -j SNAT --to-source 192.168.10.1


##################################################################################
# E-MULE
##################################################################################

# ROBERT
iptables -t nat -A PREROUTING -i $EXTIF -p tcp -d $EXTIP --dport 4662 -j DNAT --to-destination 192.168.1.195:4662
iptables -t nat -A PREROUTING -i $EXTIF -p udp -d $EXTIP --dport 4672 -j DNAT --to-destination 192.168.1.195:4672

##################################################################################
# BitTorent
##################################################################################

iptables -t nat -A PREROUTING -i $EXTIF -p tcp -d $EXTIP --dport 8432 -j DNAT --to-destination 192.168.1.195:8432