zuerstmal möchte ich alle denjenigen Danken die mir bislang hier weitergeholfen haben, für Probleme die ich mit der Suchfunktion lösen konnte. Diesmal komme ich nicht weiter.
Ich habe ein kleines Netzwerk an dessen Anfang ein Debian-Linux-PC sitzt der so allerhand für mich regelt, neben Email, Testumgebung für PHP unter anderem auch als Router zwischen Netzwerk und DSL.
Alles funktioniert soweit so gut, nur möchte ich nur bestimmten Hosts den Zugang zum Web erlauben, bzw. einzelnen, oder Bereiche den direkten zugang verwehren.
Wie müsste ich mein Script verändern dass dies machbar ist. Anbei mein bisheriges Script:
Michael
- #/bin/bash
# Global variables
EXTDEV=ppp0 # External device pointing to the internet
INTDEV=eth0 # Internal device pointing to the local net
INTLAN=192.168.0.0/24
IPTABLES=/sbin/iptables
case "$1" in
start)
## Load modules
# modprobe iptable_nat
# modprobe iptable_filter
# modprobe ip_conntrack
# modprobe ip_conntrack_ftp ports=7771,21
# modprobe ip_nat_ftp
# modprobe ip_tables
# modprobe ipt_MASQUERADE
# modprobe ipt_REJECT
## Enable Paketforwarding and set dynamic IP
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
## Flush tables and set default policy
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
## Masquerading
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -A POSTROUTING -o $EXTDEV -s 192.168.0.0/24 -j MASQUERADE
## Allow all on localhost
$IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
# Define ports that should be open
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 21 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 113 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 7771 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 443 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 80 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 22 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 31337 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 27960 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 14484 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 8000 --syn -j ACCEPT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 10000 --syn -j ACCEPT
## Close all other ports
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 1:9500 --syn -j REJECT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 1:10500 --syn -j REJECT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 901 --syn -j REJECT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 139 --syn -j REJECT
#$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport icmp --syn -j REJECT
restart)
$0 stop && $0 start
;;
esac