Mathew
21.05.03, 16:21
Hallo,
habe mich schon blöd gelesen und habe keine Ahnung warum ich kein Portforwarding hinbekomme. Ich lese immer nur die eine Zeile, aber bei mir klapps nicht *grrrr* Der interne Rechner hat die 192.168.1.1 auf Port 80. Hier lieber mal mein ganzen Skript, mich interessiert aber nur das Portforwarding. Die anderen Sachen wie -state kommen später *ggg*.
Vielleicht kann man schon ein Schritt weitergehen und jemand hat Citrix laufen ???
UDP 1604, TCP 1494, sprich wenn ich das 80er Problem gelöst habe, sollte ich einfach nur die Citrixports freigeben und das läuft auch.
Danke für Eure Hilfe.
Gruß
Mathew
EXT_IP=217.7.102.102
INT_IP=192.168.1.254
EXT_NIC=eth0
INT_NIC=eth1
case "$1" in
start)
echo "Starte IP-Paketfilter"
# IPTABLES MODULE
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
modprobe ipt_REJECT
# ROUTING AKTIVIEREN
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
# MASQUERADING AKTIVIEREN
iptables -t nat -A POSTROUTING -o $EXT_NIC -j MASQUERADE
# SYN-COOKIES AKTIVIEREN
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
# ALLE VORHANDENEN REGELN LÖSCHEN
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# CHAIN LOGFILE ERSTELLEN
iptables -N TCP_INPUT_BLOCK
iptables -A TCP_INPUT_BLOCK -j LOG --log-prefix "TCP INPUT GEBLOCKT "
iptables -A TCP_INPUT_BLOCK -j DROP
iptables -N UDP_INPUT_BLOCK
iptables -A UDP_INPUT_BLOCK -j LOG --log-prefix "UDP INPUT GEBLOCKT "
iptables -A UDP_INPUT_BLOCK -j DROP
iptables -N ICMP_INPUT_BLOCK
iptables -A ICMP_INPUT_BLOCK -j LOG --log-prefix "ICMP INPUT GEBLOCKT "
iptables -A ICMP_INPUT_BLOCK -j DROP
iptables -N TCP_OUTPUT_BLOCK
iptables -A TCP_OUTPUT_BLOCK -j LOG --log-prefix "TCP OUTPUT GEBLOCKT "
iptables -A TCP_OUTPUT_BLOCK -j DROP
iptables -N UDP_OUTPUT_BLOCK
iptables -A UDP_OUTPUT_BLOCK -j LOG --log-prefix "UDP OUTPUT GEBLOCKT "
iptables -A UDP_OUTPUT_BLOCK -j DROP
iptables -N ICMP_OUTPUT_BLOCK
iptables -A ICMP_OUTPUT_BLOCK -j LOG --log-prefix "ICMP OUTPUT GEBLOCKT "
iptables -A ICMP_OUTPUT_BLOCK -j DROP
iptables -N PRIVAT_INPUT_BLOCK
iptables -A PRIVAT_INPUT_BLOCK -j LOG --log-prefix "PRIVATIP EXTERN GEBLOCKT "
iptables -A PRIVAT_INPUT_BLOCK -j DROP
iptables -N INVALID_BLOCK
iptables -A INVALID_BLOCK -j LOG --log-prefix "DEFEKTE PAKETE GEBLOCKT "
iptables -A INVALID_BLOCK -j DROP
# DEFAULT AUF BLOCKEN
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# PRIVATADRESSEN VON EXTERN VERWERFEN
iptables -A INPUT -i $EXT_NIC -s 10.0.0.0/8 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 172.16.0.0/12 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 192.168.0.0/16 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 224.0.0.0/4 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 240.0.0.0/5 -j PRIVAT_INPUT_BLOCK
# DEFEKTE PAKETE VERWERFEN
iptables -A INPUT -m state --state INVALID -j INVALID_BLOCK
iptables -A OUTPUT -m state --state INVALID -j INVALID_BLOCK
iptables -A FORWARD -m state --state INVALID -j INVALID_BLOCK
# LOCALHOST ALLES ERLAUBEN
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# INTERNES LAN ALLES ERLAUBEN
iptables -A INPUT -i $INT_NIC -j ACCEPT
iptables -A OUTPUT -o $INT_NIC -j ACCEPT
# INTERNE PAKETE INS INET FORWARDEN
iptables -A FORWARD -i $INT_NIC -o $EXT_NIC -j ACCEPT
# SMTP PORT 25 EINGEHEND ERLAUBEN
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --sport 25 -j ACCEPT
# SMTP PORT 25 AUSGEHEND ERLAUBEN
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --sport 25 -j ACCEPT
# DNS PORT 53 AUSGEHEND ERLAUBEN
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p udp --sport 53 -j ACCEPT
# HTTP PORT 80 AUSGEHEND ERLAUBEN
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --sport 80 -j ACCEPT
# SSH PORT 22 EINGEHEND ERLAUBEN
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --sport 22 -j ACCEPT
# SSL
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --sport 443 -j ACCEPT
# NAT fuer HTTP
iptables -t nat -A PREROUTING -p tcp -i $EXT_NIC --dport 80 -j DNAT --to-destination 192.168.1.1:80
# REST INS LOGFILE UND BLOCKEN
iptables -A INPUT -p tcp -i $EXT_NIC -j TCP_INPUT_BLOCK
iptables -A INPUT -p udp -i $EXT_NIC -j UDP_INPUT_BLOCK
iptables -A INPUT -p icmp -i $EXT_NIC -j ICMP_INPUT_BLOCK
iptables -A OUTPUT -o $EXT_NIC -j TCP_OUTPUT_BLOCK
iptables -A OUTPUT -o $EXT_NIC -j UDP_OUTPUT_BLOCK
iptables -A OUTPUT -o $EXT_NIC -j ICMP_OUTPUT_BLOCK
;;
stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward
# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;
status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;
*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;
esac
mx01:~ #
habe mich schon blöd gelesen und habe keine Ahnung warum ich kein Portforwarding hinbekomme. Ich lese immer nur die eine Zeile, aber bei mir klapps nicht *grrrr* Der interne Rechner hat die 192.168.1.1 auf Port 80. Hier lieber mal mein ganzen Skript, mich interessiert aber nur das Portforwarding. Die anderen Sachen wie -state kommen später *ggg*.
Vielleicht kann man schon ein Schritt weitergehen und jemand hat Citrix laufen ???
UDP 1604, TCP 1494, sprich wenn ich das 80er Problem gelöst habe, sollte ich einfach nur die Citrixports freigeben und das läuft auch.
Danke für Eure Hilfe.
Gruß
Mathew
EXT_IP=217.7.102.102
INT_IP=192.168.1.254
EXT_NIC=eth0
INT_NIC=eth1
case "$1" in
start)
echo "Starte IP-Paketfilter"
# IPTABLES MODULE
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
modprobe ipt_REJECT
# ROUTING AKTIVIEREN
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
# MASQUERADING AKTIVIEREN
iptables -t nat -A POSTROUTING -o $EXT_NIC -j MASQUERADE
# SYN-COOKIES AKTIVIEREN
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
# ALLE VORHANDENEN REGELN LÖSCHEN
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# CHAIN LOGFILE ERSTELLEN
iptables -N TCP_INPUT_BLOCK
iptables -A TCP_INPUT_BLOCK -j LOG --log-prefix "TCP INPUT GEBLOCKT "
iptables -A TCP_INPUT_BLOCK -j DROP
iptables -N UDP_INPUT_BLOCK
iptables -A UDP_INPUT_BLOCK -j LOG --log-prefix "UDP INPUT GEBLOCKT "
iptables -A UDP_INPUT_BLOCK -j DROP
iptables -N ICMP_INPUT_BLOCK
iptables -A ICMP_INPUT_BLOCK -j LOG --log-prefix "ICMP INPUT GEBLOCKT "
iptables -A ICMP_INPUT_BLOCK -j DROP
iptables -N TCP_OUTPUT_BLOCK
iptables -A TCP_OUTPUT_BLOCK -j LOG --log-prefix "TCP OUTPUT GEBLOCKT "
iptables -A TCP_OUTPUT_BLOCK -j DROP
iptables -N UDP_OUTPUT_BLOCK
iptables -A UDP_OUTPUT_BLOCK -j LOG --log-prefix "UDP OUTPUT GEBLOCKT "
iptables -A UDP_OUTPUT_BLOCK -j DROP
iptables -N ICMP_OUTPUT_BLOCK
iptables -A ICMP_OUTPUT_BLOCK -j LOG --log-prefix "ICMP OUTPUT GEBLOCKT "
iptables -A ICMP_OUTPUT_BLOCK -j DROP
iptables -N PRIVAT_INPUT_BLOCK
iptables -A PRIVAT_INPUT_BLOCK -j LOG --log-prefix "PRIVATIP EXTERN GEBLOCKT "
iptables -A PRIVAT_INPUT_BLOCK -j DROP
iptables -N INVALID_BLOCK
iptables -A INVALID_BLOCK -j LOG --log-prefix "DEFEKTE PAKETE GEBLOCKT "
iptables -A INVALID_BLOCK -j DROP
# DEFAULT AUF BLOCKEN
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# PRIVATADRESSEN VON EXTERN VERWERFEN
iptables -A INPUT -i $EXT_NIC -s 10.0.0.0/8 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 172.16.0.0/12 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 192.168.0.0/16 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 224.0.0.0/4 -j PRIVAT_INPUT_BLOCK
iptables -A INPUT -i $EXT_NIC -s 240.0.0.0/5 -j PRIVAT_INPUT_BLOCK
# DEFEKTE PAKETE VERWERFEN
iptables -A INPUT -m state --state INVALID -j INVALID_BLOCK
iptables -A OUTPUT -m state --state INVALID -j INVALID_BLOCK
iptables -A FORWARD -m state --state INVALID -j INVALID_BLOCK
# LOCALHOST ALLES ERLAUBEN
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# INTERNES LAN ALLES ERLAUBEN
iptables -A INPUT -i $INT_NIC -j ACCEPT
iptables -A OUTPUT -o $INT_NIC -j ACCEPT
# INTERNE PAKETE INS INET FORWARDEN
iptables -A FORWARD -i $INT_NIC -o $EXT_NIC -j ACCEPT
# SMTP PORT 25 EINGEHEND ERLAUBEN
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --sport 25 -j ACCEPT
# SMTP PORT 25 AUSGEHEND ERLAUBEN
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --sport 25 -j ACCEPT
# DNS PORT 53 AUSGEHEND ERLAUBEN
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p udp --sport 53 -j ACCEPT
# HTTP PORT 80 AUSGEHEND ERLAUBEN
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --sport 80 -j ACCEPT
# SSH PORT 22 EINGEHEND ERLAUBEN
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --sport 22 -j ACCEPT
# SSL
iptables -A INPUT -i $EXT_NIC -d $EXT_IP -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -o $EXT_NIC -s $EXT_IP -p tcp --sport 443 -j ACCEPT
# NAT fuer HTTP
iptables -t nat -A PREROUTING -p tcp -i $EXT_NIC --dport 80 -j DNAT --to-destination 192.168.1.1:80
# REST INS LOGFILE UND BLOCKEN
iptables -A INPUT -p tcp -i $EXT_NIC -j TCP_INPUT_BLOCK
iptables -A INPUT -p udp -i $EXT_NIC -j UDP_INPUT_BLOCK
iptables -A INPUT -p icmp -i $EXT_NIC -j ICMP_INPUT_BLOCK
iptables -A OUTPUT -o $EXT_NIC -j TCP_OUTPUT_BLOCK
iptables -A OUTPUT -o $EXT_NIC -j UDP_OUTPUT_BLOCK
iptables -A OUTPUT -o $EXT_NIC -j ICMP_OUTPUT_BLOCK
;;
stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward
# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;
status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;
*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;
esac
mx01:~ #