Pretender81
Newbie
Hi Leute!
Sitze gerade an meinem Abschluß-Projekt und hab mit meiner Externen Firewall nen kleines Problem, ich bekomm bestimmte sachen nicht so hin wie ich will
-Weiterleitung auf den WebServer
-Und ich will das die User nur Port 80,443 offen haben!
#! /bin/sh
#myfw.sh ---
#Externe Firewall
#Konstantendefinition
EXT="eth0"
EXT_IP="62.154.253.248"
DMZ="eth1"
DMZ_IP="192.168.1.1"
INT_NET="192.168.5.0/255.255.255.0"
INT_FW="192.168.1.2"
WEBSERVER="192.168.1.25"
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starting Firewall"
#Loeschen der vorhandenen Regeln
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
#Default Policy
iptables --policy INPUT DROP
iptables --policy FORWARD ACCEPT
iptables --policy OUTPUT ACCEPT
#SYN_COOKIES aktivieren
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#SOUCE ADDRESS VERIFICATION aktivieren
for i in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $i
done
#Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#SSH
iptables -A INPUT -p tcp -i $DMZ --dport 22 -j ACCEPT
# iptables -A OUTPUT -o $DMZ -d $INT_NET -p TCP --sport 22 --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Pakete ablehnen die vorgeben von der eingenen IP zu stammen
# iptables -A input -i $EXT -s $IP -j REJECT
# iptables -A input -i $DMZ -s $DMZ_IP -j REJECT
#Routing und Masquerading
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -i $EXT -m state --state ESTABLISHED,RELATED -j ACCEPT
#von intern alles erlauben
# iptables -A INPUT -i $EXT -p all -j ACCEPT
iptables -A PREROUTING -t nat -p tcp -i $EXT --dport 80 -j DNAT --to-destination 192.168.1.25
#Ping und Traceroute
iptables -A OUTPUT -p icmp -o $EXT --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i $EXT --icmp-type echo-reply -j ACCEPT
#NTP
# iptables -A INPUT -p tcp -i eth0 --dport 123 -j ACCEPT
# iptables -A INPUT -p udp -i eht0 --dport 123 -j ACCEPT
echo -n
rc_status -v
;;
close)
echo -n "Closing Firewall"
#Loeschen der vorhandenen Regeln
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
#Default Policy
iptables --policy INPUT DROP
iptables --policy FORWARD ACCEPT
iptables --policy OUTPUT ACCEPT
#Routing und Masquerading
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#von intern alles erlauben
iptables -A INPUT -i eth1 -p all -j ACCEPT
#Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
echo -n
rc_status -v
;;
status)
iptables -L
;;
*)
echo "Usage: /etc/init.d/myfw.sh {start|close|status}"
exit 1
;;
esac
rc_exit
exit 0
Sitze gerade an meinem Abschluß-Projekt und hab mit meiner Externen Firewall nen kleines Problem, ich bekomm bestimmte sachen nicht so hin wie ich will
-Weiterleitung auf den WebServer
-Und ich will das die User nur Port 80,443 offen haben!
#! /bin/sh
#myfw.sh ---
#Externe Firewall
#Konstantendefinition
EXT="eth0"
EXT_IP="62.154.253.248"
DMZ="eth1"
DMZ_IP="192.168.1.1"
INT_NET="192.168.5.0/255.255.255.0"
INT_FW="192.168.1.2"
WEBSERVER="192.168.1.25"
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starting Firewall"
#Loeschen der vorhandenen Regeln
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
#Default Policy
iptables --policy INPUT DROP
iptables --policy FORWARD ACCEPT
iptables --policy OUTPUT ACCEPT
#SYN_COOKIES aktivieren
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#SOUCE ADDRESS VERIFICATION aktivieren
for i in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $i
done
#Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#SSH
iptables -A INPUT -p tcp -i $DMZ --dport 22 -j ACCEPT
# iptables -A OUTPUT -o $DMZ -d $INT_NET -p TCP --sport 22 --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Pakete ablehnen die vorgeben von der eingenen IP zu stammen
# iptables -A input -i $EXT -s $IP -j REJECT
# iptables -A input -i $DMZ -s $DMZ_IP -j REJECT
#Routing und Masquerading
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -i $EXT -m state --state ESTABLISHED,RELATED -j ACCEPT
#von intern alles erlauben
# iptables -A INPUT -i $EXT -p all -j ACCEPT
iptables -A PREROUTING -t nat -p tcp -i $EXT --dport 80 -j DNAT --to-destination 192.168.1.25
#Ping und Traceroute
iptables -A OUTPUT -p icmp -o $EXT --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i $EXT --icmp-type echo-reply -j ACCEPT
#NTP
# iptables -A INPUT -p tcp -i eth0 --dport 123 -j ACCEPT
# iptables -A INPUT -p udp -i eht0 --dport 123 -j ACCEPT
echo -n
rc_status -v
;;
close)
echo -n "Closing Firewall"
#Loeschen der vorhandenen Regeln
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
iptables --delete-chain
iptables -t nat --delete-chain
iptables -t mangle --delete-chain
#Default Policy
iptables --policy INPUT DROP
iptables --policy FORWARD ACCEPT
iptables --policy OUTPUT ACCEPT
#Routing und Masquerading
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#von intern alles erlauben
iptables -A INPUT -i eth1 -p all -j ACCEPT
#Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
echo -n
rc_status -v
;;
status)
iptables -L
;;
*)
echo "Usage: /etc/init.d/myfw.sh {start|close|status}"
exit 1
;;
esac
rc_exit
exit 0