help with firewall
Hi,
Can anyone help me with this firewall.I would like to change
INTNET="192.168.0.0/24" to more exacts ips like 192.168.0.1,192.168.0.22 and
so one.
Thanks for any help.
Charls
IPTABLES="/sbin/iptables"
EXTDEV="ppp0"
EXTIP=`ifconfig $EXTDEV | grep "inet addr:" | \
awk -F: {'print $2'} | cut -d\ -f 1`
if [ -z "${EXTIP}" ]; then
exit 1
fi
#EXTIP="x.x.x.x"
INTDEV="eth0"
INTIP=`ifconfig $INTDEV | grep "inet addr:" | \
awk -F: {'print $2'} | cut -d\ -f 1`
if [ -z "${INTIP}" ]; then
exit 1
fi
#INTIP="y.y.y.y"
INTNET="192.168.0.0/24"
echo "EXTDEV: ${EXTDEV} z ${EXTIP}"
echo "INTDEV: ${INTDEV} z ${INTIP}"
case "$1" in
start)
echo -n "Starting firewall: "
#modprobe ip_tables
#modprobe ip_conntrack
#modprobe ip_conntrack_ftp
#modprobe ip_masq_ftp
#modprobe ip_masq_irc
#modprobe ip_masq_raudio
$IPTABLES -t nat -A POSTROUTING -o $EXTDEV -j SNAT --to-source=$EXTIP
$IPTABLES -F
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#--==[ kernel ]==--
#
echo 1 > /proc/sys/net/ipv4/ip_forward
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
/bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
/bin/echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
#$IPTABLES -I FORWARD -p tcp -d $DSTIP --dport $SRCPRT -j ACCEPT
#$IPTABLES -I FORWARD -p udp -d $DSTIP --dport $SRCPRT -j ACCEPT
#$IPTABLES -t nat -A PREROUTING -p tcp -i $LOCALIF -s $ALLOWFROM -d
$SRCIP --dport $SRCPRT -j DNAT --to $DSTIP
#$IPTABLES -t nat -A PREROUTING -p udp -i $LOCALIF -s $ALLOWFROM -d
$SRCIP --dport $SRCPRT -j DNAT --to $DSTIP
#---==[ INPUT ]==---
$IPTABLES -A INPUT -i $EXTDEV -p icmp -m state --state ESTABLISHED -j
ACCEPT
$IPTABLES -A INPUT -i $EXTDEV -p icmp -m state --state RELATED -j ACCEPT
# Przepuszczamy nawiazywanie polaczen
$IPTABLES -A OUTPUT -o $EXTDEV -p icmp -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTDEV -p icmp -m state --state ESTABLISHED -j
ACCEPT
$IPTABLES -A OUTPUT -o $EXTDEV -p icmp -m state --state RELATED -j ACCEPT
$IPTABLES -A INPUT -i $INTDEV -p udp -d 192.168.1.255 --dport 137:138 -j
DROP
#** SSH **
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 22 -m state --state NEW -j
ACCEPT
#** FTP **
$IPTABLES -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 21 -m state --state NEW -j ACCEPT
#** DHCPD **
$IPTABLES -A INPUT -p tcp --dport 67 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 67 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 68 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 68 -m state --state NEW -j ACCEPT
#** HTTP **
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 80 -m state --state NEW -j
ACCEPT
#** RPC **
$IPTABLES -A INPUT -i $INTDEV -p tcp --dport 111 -m state --state NEW -j
ACCEPT
$IPTABLES -A INPUT -i $INTDEV -p udp --dport 111 -m state --state NEW -j
ACCEPT
$IPTABLES -A INPUT -i $INTDEV -p udp --dport 2049 -m state --state NEW -j
ACCEPT
$IPTABLES -A INPUT -i $INTDEV -p udp --dport 1026 -m state --state NEW -j
ACCEPT
$IPTABLES -A INPUT -i $INTDEV -p tcp --dport 1026 -m state --state NEW -j
ACCEPT
#** DNS **
$IPTABLES -A INPUT -i $INTDEV -p udp --sport 1024: --dport 53 -m
state --state NEW -j ACCEPT
# Transakcje serwer-serwer
$IPTABLES -A INPUT -i $INTDEV -p udp --sport 53 --dport 53 -m state --state
NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 113 -m state --state NEW -j
REJECT --reject-with icmp-port-unreachable
$IPTABLES -A INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -m state --state RELATED -j ACCEPT
#$IPTABLES -A INPUT -j LOG --log-prefix "IPT INPUT: "
$IPTABLES -A INPUT -j DROP
#---==[ OUTPUT ]==---
$IPTABLES -A OUTPUT -m state --state ! INVALID -j ACCEPT
#$IPTABLES -A OUTPUT -j LOG --log-prefix "IPT OUTPUT: "
$IPTABLES -A OUTPUT -j DROP
#---==[ FORWARD ]==---
$IPTABLES -A FORWARD -i $INTDEV -p tcp -s $INTNET --sport 1024: -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -i $INTDEV -p tcp -s $INTNET --sport 1024: -m
state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $INTDEV -p tcp -s $INTNET --sport 1024: -m
state --state RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTDEV -p udp -s $INTNET --sport 1024: -m
state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -i $INTDEV -p udp -s $INTNET --sport 1024: -m
state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $INTDEV -p udp -s $INTNET --sport 1024: -m
state --state RELATED -j ACCEPT
$IPTABLES -A FORWARD -o $INTDEV -p tcp -d $INTNET --dport 1024: -m
state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -o $INTDEV -p tcp -d $INTNET --dport 1024: -m
state --state RELATED -j ACCEPT
$IPTABLES -A FORWARD -o $INTDEV -p udp -d $INTNET --dport 1024: -m
state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -o $INTDEV -p udp -d $INTNET --dport 1024: -m
state --state RELATED -j ACCEPT
$IPTABLES -A FORWARD -p icmp -m state --state ! INVALID -j ACCEPT
#$IPTABLES -A FORWARD -j LOG --log-prefix "IPT FORWARD: "
$IPTABLES -A FORWARD -j DROP
#---==[ TOS ]==---
#
# typ dec hex
# Minimalize-delay 16 0x10
# Maximalize-throughput 8 0x08
# Maxymalize-Reliability 4 0x04
# Minimalize-cost 2 0x02
# Normal-service 0 0x00
$IPTABLES -t mangle -A PREROUTING -p tcp -s $INTNET --dport 80 -j
TOS --set-tos 0x10
$IPTABLES -t mangle -A OUTPUT -p tcp -s $INTNET --dport 80 -j
TOS --set-tos 0x10
#---==[ TTL ]==---
#$IPTABLES -A FORWARD -s $INTNET -m ttl --ttl-eq 127 -j DROP
#$IPTABLES -t mangle -A PREROUTING -i $EXTDEV -j TTL -ttl-set 1
#---==[ QoS ]==---
## mark "mail/news" traffic to "1"
#MAIL="25 110 119 143 993 995"
#for marked in $MAIL
# do
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p tcp --dport $marked -j
MARK --set-mark 1
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p udp --dport $marked -j
MARK --set-mark 1
# done
## mark "interactive" traffic to "2"
#LOGIN="22 23 6667"
#for interactive in $LOGIN
# do
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p tcp --dport
$interactive -j MARK --set-mark 2
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p udp --dport
$interactive -j MARK --set-mark 2
# done
## mark "web" traffic to "3"
#WEB="80 443"
#for web in $WEB
# do
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p tcp --dport $web -j
MARK --set-mark 3
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p udp --dport $web -j
MARK --set-mark 3
# done
## mark "game" traffic to "4"
#GAMES="27910:27980 7777 22450 26000 26950 27015 27020 27500 28000:28008
28910"
#for games in $GAMES
# do
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p tcp --dport $games -j
MARK --set-mark 4
# $IPTABLES -A PREROUTING -i $EXTERNAL -t mangle -p udp --dport $games -j
MARK --set-mark 4
# done
echo "done!"
Reply to: