iptables prerouting

Post Reply
Message
Author
Alex

iptables prerouting

#1 Post by Alex »

Hallo!

Mein Server (Suse7.3/SuSEFirewall2/iptables) dient als InternetGateway(via
TDSL) für mein lokales Lan 192.168.1.1/24.
Läuft alles hervorragend :)
Nun habe ich in meinem lokalen Netz einen FTP-Server stehen der von
Außen/Internet über meinen SuSE-InternerGatway zu erreichen sein soll.
Ich möchte das Ganze über die iptables realisieren.
Also habe ich fogendes getestet:

iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 21 -j DNAT --to
192.168.1.1:21
und
iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 20 -j DNAT --to
192.168.1.1:20
(ftp braucht wohl Port 20 und 21 ?!?)

die beiden Zeilen gebe ich, nachdem ich die SuSEfirewall2 gestartet habe,
ein.
In meinem firewall-log finde ich nach einem Versuch zu connecten folgenden
Zeilen:

Apr 18 12:34:50 linuxsrv kernel: SuSE-FW-DROP-DEFAULT IN=ppp0 OUT=eth1
SRC=217.230.58.54 DST=192.168.1.1 LEN=60 TOS=0x00 PREC=0x00 TTL=62 ID=50500
DF PROTO=TCP SPT=34336 DPT=21 WINDOW=5808 RES=0x00 SYN URGP=0 OPT
(020405840000080A058FFC1B0000000001030301)

Apr 18 12:34:53 linuxsrv kernel: SuSE-FW-DROP-DEFAULT IN=ppp0 OUT=eth1
SRC=217.230.58.54 DST=192.168.1.1 LEN=60 TOS=0x00 PREC=0x00 TTL=62 ID=50501
DF PROTO=TCP SPT=34336 DPT=21 WINDOW=5808 RES=0x00 SYN URGP=0 OPT
(020405840000080A058FFD470000000001030301)

Irgendwo habe ich gelesen das ich evtl. den Kernel neu basteln muss? Ist das
so? Was muss in den Kernel genau rein?


Vielen Dank für die Hilfe im voraus!
Alex

P.S:
ich habe auch folgende Zeilen schon ausprobiert:

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 21 -j DNAT --to 192.168.1.1

iptables -I FORWARD -i ppp0 -o eth1 -p tcp --dport 21 --sport 1024:65535 -d 192.168.1.1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


Meine SuSEfirewall2.config sieht so aus:

FW_DEV_EXT="ppp0"
FW_DEV_INT="eth1"
FW_DEV_DMZ=""
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="$FW_DEV_EXT"
FW_MASQ_NETS="192.168.1.1/24"
FW_PROTECT_FROM_INTERNAL="no"
FW_AUTOPROTECT_SERVICES="yes"
FW_SERVICES_EXT_TCP="21 22 25 110"
FW_SERVICES_EXT_IP=""
FW_SERVICES_DMZ_TCP=""
FW_SERVICES_DMZ_UDP=""
FW_SERVICES_DMZ_IP=""
FW_SERVICES_INT_TCP=""
FW_SERVICES_INT_UDP=""
FW_SERVICES_INT_IP=""
FW_TRUSTED_NETS=""
FW_ALLOW_INCOMING_HIGHPORTS_UDP="yes"
FW_SERVICE_AUTODETECT="yes"
FW_SERVICE_DNS="yes"
FW_SERVICE_DHCLIENT="no"
FW_SERVICE_DHCPD="no"
FW_SERVICE_SQUID="no"
FW_SERVICE_SAMBA="no"
FW_FORWARD=""
FW_FORWARD_MASQ=""
FW_REDIRECT=""
FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="no"
FW_LOG_ACCEPT_CRIT="yes"
FW_LOG_ACCEPT_ALL="no"
FW_LOG="--log-level warning --log-tcp-options --log-ip-option --log-prefix
SuSE-FW"
FW_KERNEL_SECURITY="no"
FW_STOP_KEEP_ROUTING_STATE="no"
FW_ALLOW_PING_FW="yes"
FW_ALLOW_PING_DMZ="no"
FW_ALLOW_PING_EXT="no"
FW_ALLOW_FW_TRACEROUTE="yes"
FW_ALLOW_FW_SOURCEQUENCH="yes"
FW_ALLOW_FW_BROADCAST="no"
FW_IGNORE_FW_BROADCAST="yes"
FW_ALLOW_CLASS_ROUTING="no"

gewitter
Posts: 1354
Joined: 09. Apr 2001 9:03

Re: iptables prerouting

#2 Post by gewitter »

nach meiner erkenntnis funktionieren die filterregeln von iptables so, dass sie regelrecht ketten durchlaufen in denen diese auf zuständigkeit geprüft werden. insofern müssten deine regeln vor dem start der firewall ausgeführt werden, damit sie durch andere regeln nicht blockiert werden. aber ich glaube das aktivieren der firewall löscht alle vorherigen regeln. tip: setze den ftp auf dem router auf, das dürfte mehr sinn machen.

Post Reply