Toon posts:

[fedoraLinux] forwarding werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Medetweakers,

ik zit met het volgende probleem:

We hebben bij ons sinds kort een SDSL-verbinding.
We hebben een eigen linux server eraan hangen.
We we hebben daar achter een mailserver hangen (ook linux)
Maar nu kunnen we van buitenaf de mailserver niet benaderen.
dit is wat in onze oa iptables staat.

*nat
:PREROUTING ACCEPT [131365:7655003]
:POSTROUTING ACCEPT [501:30098]
:OUTPUT ACCEPT [1166:90195]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 25 -j DNAT --to-destination xxx.xxx.xxx.xxx:25
-A POSTROUTING -o eth1 -j SNAT --to-source yyy.yyy.yyy.yyy

(xxx.xxx.xxx.xxx is intern, yyy.yyy.yyy.yyy is extern)

We maken dus gebruik van fedora core 1. Weet iemand waarom dit niet werkt? En weet iemand hiervoor een oplossing??

Als er nog meer info bij moet, wil ik dat graag horen. Willen dit voor het weekend werkend hebben. We hebben ook andere poorten geprobeerd maar werkte ook niet.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

[...]
Maar nu kunnen we van buitenaf de mailserver niet benaderen.
[...]
Meer informatie graag... Wat werkt er niet en wat heb je zelf al geprobeerd? Waar en wat voor fouten krijg je? Wat staat er in je logboeken op zowel client als server?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Spider.007 schreef op 26 februari 2004 @ 16:25:
[...]


Meer informatie graag... Wat werkt er niet en wat heb je zelf al geprobeerd? Waar en wat voor fouten krijg je? Wat staat er in je logboeken op zowel client als server?
Nou we hebben veel geprobeerd. Maar het lijkt er op dat het forwarden van een poort van de server die aan het internet hangt niet werkt.
als we bv met telnet van buitenaf een verbinding willen maken door "telnet yyy.yyy.yyy.yyy 25" in te type dan krijgen we geen verbinding. doen we dit op de server naar de mailbak dan werkt het wel.
dus dit is ongeveer de bedoeling:

PC --> inet --> server:25 --> mail:25

en dan weer terug.
We krijgen geen enkele (fout)melding in de logs als we dit van buiten af proberen, maar wel als we dit van server naar mailbak doen.
Dus lijkt het ons dat forwarden van de poort niet lukt. meer info kan ik nu niet verstrekken, morgenochtend wel weer.
Ik hoop dat er iemand is die al kan helpen.

Verwijderd

Wat zie je als je op je mailserver tcpdump mee laat lopen?

En wat zie je als je op je NAT-server tcpdump mee laat lopen?

Verwijderd

Topicstarter
Verwijderd schreef op 26 februari 2004 @ 20:26:
Wat zie je als je op je mailserver tcpdump mee laat lopen?

En wat zie je als je op je NAT-server tcpdump mee laat lopen?
Nou op de NAT-server komt echt helemaal niets voorbij en op de ander komt het volgende voorbij:

20:38:15.485199 mail.??????????.nl.ssh > cpe-xxx-xxx-xxx-xxx.il.sprintbbd.net.33268: P 2368310513:2368310577(64) ack 767223076 win 9
20:38:15.485310 cpe-xxx-xxx-xxx-xxx.il.sprintbbd.net.33268 > mail.??????????.nl.ssh: . ack 64 win 63264 <nop,nop,timestamp 18395962
20:38:15.487109 mail.??????????.nl.32769 > ictserver.??????????.nl.domain: 9327+ PTR? 1.1.1.66.in-addr.arpa. (39) (DF)
20:38:15.487441 ictserver.??????????.nl.domain > mail.??????????.nl.32769: 9327 1/4/4 PTR[|domain] (DF)
20:38:15.489345 mail.??????????.nl.32769 > ictserver.??????????.nl.domain: 9328+ PTR? yyy-yyy-yyy-yyy.in-addr.arpa. (44) (DF)
20:38:15.489519 ictserver.??????????.nl.domain > mail.??????????.nl.32769: 9328* 1/1/1 (111) (DF)
20:38:29.056066 cpe-xxx-xxx-xxx-xxx87.il.sprintbbd.net.router > xxx.xxx.xxx.255.router: RIPv1-resp [items 1]: {192.168.11.0}(1) (DF)
20:38:29.056713 mail.??????????.nl.32769 > ictserver.??????????.nl.domain: 9329+ PTR? aaa.aaa.aaa.aaa.in-addr.arpa. (41) (DF)
20:38:29.057020 ictserver.??????????.nl.domain > mail.??????????.nl.32769: 9329 1/4/4 PTR[|domain] (DF)
20:38:29.057108 cpe-xxx-xxx-xxx-xxx87.il.sprintbbd.net.router > RIP2-ROUTERS.MCAST.NET.router: RIPv2-resp [items 1]: {192.168.11.0/
20:38:29.057783 mail.??????????.nl.32769 > ictserver.??????????.nl.domain: 9330+ PTR? 9.0.0.224.in-addr.arpa. (40) (DF)
20:38:29.057982 ictserver.??????????.nl.domain > mail.??????????.nl.32769: 9330 1/3/3 PTR[|domain] (DF)
20:38:48.073915 cpe-xxx-xxx-xxx-xxx87.il.sprintbbd.net.router > xxx.xxx.xxx.255.router: RIPv1-resp [items 1]: {192.168.11.0}(1) (DF)
20:38:48.074787 cpe-xxx-xxx-xxx-xxx87.il.sprintbbd.net.router > RIP2-ROUTERS.MCAST.NET.router: RIPv2-resp [items 1]: {192.168.11.0/
20:38:48.563716 arp who-has cpe-xxx-xxx-xxx-xxx.il.sprintbbd.net tell cpe-xxx-xxx-xxx-xxx87.il.sprintbbd.net
20:38:50.932292 cpe-xxx-xxx-xxx-xxx.il.sprintbbd.net.33268 > mail.??????????.nl.ssh: P 1:49(48) ack 64 win 63264 <nop,nop,timestamp

Ik heb ip-adressen vervangen door letters (YYY = externe ip, XXX = interne IP)

Maar mijn thuis ip ook niet zichtbaar.

Verwijderd

Ik bedoel tijdens het opzetten van een SMTP sessie, dan moet je op je mailserver inkomend verkeer zien op TCP poort 25.

Dat verkeer moet op zijn minst op je NAT server aan de buitenzijde zichtbaar zijn.

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

doe eens
code:
1
 cat /proc/sys/net/ipv4/ip_forward
(op je firewall/gateway)
indien hier 0 uitkomt zal deze machine nooit gaan routeren.

om te zorgen dat die dat wel gaat doen:
code:
1
echo "1" > /proc/sys/net/ipv4/ip_forward

Mistakes are proof that you are trying...


Verwijderd

Wat omslachtig.

Kun je toch gewoon terugvinden en instellen in /etc/sysctl.conf ?

[ Voor 8% gewijzigd door Verwijderd op 26-02-2004 22:33 ]


Verwijderd

Topicstarter
Dit staat in onze sysctl.conf. Lijkt me dus goed.

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

Verwijderd

Verwijderd schreef op 27 februari 2004 @ 08:38:
Dit staat in onze sysctl.conf. Lijkt me dus goed.

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
Lijkt mij niet juist...

Maar zoals ik al eerder zei, doe eens een tcpdump aan beide zijden van je NAT server, dan zie je gauw genoeg of er wel pakketjes van internet op jouw netwerkje terecht komen.

[ Voor 11% gewijzigd door Verwijderd op 27-02-2004 08:44 ]


Verwijderd

Topicstarter
We hebben de waarschijnlijke fout gevonden. Het is nl zo dat we pas sinds kort een direct verbinding hebben met internet. Daarvoor zaten we op het algemene netwerk. We gebruikte voor de ruimtes een IP die begon met een kamernummer.
Nu is het dus zo dat de kamernummers 66, 76, 77, 78 natuurlijk als IP 66.x.x.x etc. niet in een private range vallen.
Dus nu we onze eigen verbinding hebben wil de server direct weer naar buiten.
Dit is waarschijnlijk de fout.

Maar dat horen jullie nog wel!

Verwijderd

Topicstarter
Verwijderd schreef op 27 februari 2004 @ 10:36:
We hebben de waarschijnlijke fout gevonden. Het is nl zo dat we pas sinds kort een direct verbinding hebben met internet. Daarvoor zaten we op het algemene netwerk. We gebruikte voor de ruimtes een IP die begon met een kamernummer.
Nu is het dus zo dat de kamernummers 66, 76, 77, 78 natuurlijk als IP 66.x.x.x etc. niet in een private range vallen.
Dus nu we onze eigen verbinding hebben wil de server direct weer naar buiten.
Dit is waarschijnlijk de fout.

Maar dat horen jullie nog wel!
Nee dit was toch niet het probleem.
Ik heb nu het volgende getest:
Vanaf internet telnet naar poort 25 (komt aan bij router gaat niet verder)
telnetten van router (gaat goed)
Kijken of router poort 25 blokt (geen melding hier over in log/messages dus ik denkt het niet)

E-mail verzenden van af mail-bak naar buiten (gaat goed dus routeren van binnen naar buiten werkt wel)

Verwijderd

Topicstarter
Ons firewall script ziet er als volgd uit:

IPT="/sbin/iptables"

# The Network Interface you will be protecting. For ADSL/dialup users,
# ppp0 should be fine. If you are using a cable internet connection or
# are connected to a LAN, you will have to change this to "eth0".
INT="eth0"

# The following rules will clear out any existing firewall rules,
# and any chains that might have been created.
$IPT -F
$IPT -F INPUT
$IPT -F OUTPUT
$IPT -F FORWARD
$IPT -F -t mangle
$IPT -F -t nat
$IPT -X

# These will setup our policies.
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# The following line below enables IP forwarding and thus
# by extension, NAT. Turn this on if you're going to be
# doing NAT or IP Masquerading.
echo "1" > /proc/sys/net/ipv4/ip_forward

# Source NAT everything heading out the $INT (external)
# interface to be the given IP. If you have a dynamic IP
# address or a DHCP IP that changes semi-regularly, comment out
# the first line and uncomment the second line.
#
# Remember to change the ip address below to your static ip.
#
$IPT -t nat -A POSTROUTING -o $INT -j SNAT --to XX.XX.XX.XX (eigen ip)

# This rule protects your fowarding rule.
$IPT -A FORWARD -i $INT -m state --state NEW,INVALID -j DROP

# If you would like to forward specific ports to other machines
# on your home network, edit and uncomment the rules below. They are
# currently set up to forward port 25 & 53 (Mail & DNS) to 10.1.1.51.
# Anything incoming over your $INT through your gateway will
# be automatically redirected invisibly to port 25 & 53 on 10.1.1.51
$IPT -t nat -A PREROUTING -i $INT -p tcp --dport smtp -j DNAT --to 10.1.66.200:25

# Now, our firewall chain. We use the limit commands to
# cap the rate at which it alerts to 15 log messages per minute.
$IPT -N firewall
$IPT -A firewall -m limit --limit 15/minute -j LOG --log-prefix Firewall:
$IPT -A firewall -j DROP

# Now, our dropwall chain, for the final catchall filter.
$IPT -N dropwall
$IPT -A dropwall -m limit --limit 15/minute -j LOG --log-prefix Dropwall:
$IPT -A dropwall -j DROP

# Our "hey, them's some bad tcp flags!" chain.
$IPT -N badflags
$IPT -A badflags -m limit --limit 15/minute -j LOG --log-prefix Badflags:
$IPT -A badflags -j DROP

# And our silent logging chain.
$IPT -N silent
$IPT -A silent -j DROP

# This rule will accept connections from local machines. If you have
# a home network, enter in the IP's of the machines on the
# network below.
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -s 10.1.78.2 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.77.2 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.76.2 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.66.2 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.66.200 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.66.1/255.255.255.0 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.76.1/255.255.255.0 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.78.1/255.255.255.0 -d 0/0 -p all -j ACCEPT
$IPT -A INPUT -s 10.1.77.1/255.255.255.0 -d 0/0 -p all -j ACCEPT
# Drop those nasty packets! These are all TCP flag
# combinations that should never, ever occur in the
# wild. All of these are illegal combinations that
# are used to attack a box in various ways, so we
# just drop them and log them here.
$IPT -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j badflags
$IPT -A INPUT -p tcp --tcp-flags ALL ALL -j badflags
$IPT -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j badflags
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j badflags
$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j badflags
$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j badflags

# Drop icmp, but only after letting certain types through.
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 3 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 11 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/second -j ACCEPT
$IPT -A INPUT -p icmp -j firewall

# If you would like to open up port 22 (SSH Access) to various IP's
# simply edit the IP's below and uncomment the line. If youw wish to
# enable SSH access from anywhere, uncomment the second line only.
# putty voor hans
#lokalen

# If you are running a Web Server, uncomment the next line to open
# up port 80 on your machine.

$IPT -A INPUT -i $INT -s 0/0 -d 0/0 -p tcp --dport 80 -j ACCEPT

# Lets do some basic state-matching. This allows us
# to accept related and established connections, so
# client-side things like ftp work properly, for example.
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Uncomment to drop port 137 netbios packets silently.
# We don't like that netbios stuff, and it's way too
# spammy with windows machines on the network.
$IPT -A INPUT -p udp --sport 137 --dport 137 -j silent

# Our final trap. Everything on INPUT goes to the dropwall
# so we don't get silent drops.
$IPT -A INPUT -j dropwall

  • Lancer
  • Registratie: Januari 2002
  • Laatst online: 21-02 19:48

Lancer

What the......

Moet INT niet op eth1 staan?

Als je dit soort dingen lastig vindt, kijk bijvoorbeeld eens naar http://www.webmin.com en http://www.turtlefirewall.com

[ Voor 59% gewijzigd door Lancer op 27-02-2004 15:06 . Reden: verkeerd gelezen ]

Je kunt niet in een systeem meten zonder het systeem te beinvloeden.... (gevolg van de Heisenberg onzekerheidsrelatie)


Verwijderd

Topicstarter
eth0 is de netwerkkaart op de SDSL router dit dit is volgens mij goed

  • Lancer
  • Registratie: Januari 2002
  • Laatst online: 21-02 19:48

Lancer

What the......

Verwijderd schreef op 26 februari 2004 @ 16:19:
dit is wat in onze oa iptables staat.

*nat
:PREROUTING ACCEPT [131365:7655003]
:POSTROUTING ACCEPT [501:30098]
:OUTPUT ACCEPT [1166:90195]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 25 -j DNAT --to-destination xxx.xxx.xxx.xxx:25
-A POSTROUTING -o eth1 -j SNAT --to-source yyy.yyy.yyy.yyy

(xxx.xxx.xxx.xxx is intern, yyy.yyy.yyy.yyy is extern)
Hoe kom je hier dan aan? Volgens deze config is eth1 de externe

Je kunt niet in een systeem meten zonder het systeem te beinvloeden.... (gevolg van de Heisenberg onzekerheidsrelatie)


Verwijderd

Topicstarter
Daar heb je gelijk in,
maar bij het wijzigen van alle ip adressen lokaal (van 66.1.1.XX naar 10.1.66.XX)
Heb ik ook de netwerkkaarten omgedraaid dus nu is eth0 buiten. Ik heb namelijk voor het binnen netwerk meerdere netwerkkaarten voor verschillende delen binnen het bedrijf.

  • Lancer
  • Registratie: Januari 2002
  • Laatst online: 21-02 19:48

Lancer

What the......

Dan zorgt deze regel
# This rule protects your fowarding rule.
$IPT -A FORWARD -i $INT -m state --state NEW,INVALID -j DROP
ervoor dat alles wat van buiten komt gedropped wordt.

Je kunt niet in een systeem meten zonder het systeem te beinvloeden.... (gevolg van de Heisenberg onzekerheidsrelatie)


  • bigben04
  • Registratie: December 2001
  • Laatst online: 16-02 17:30
Ik gebruik zelf Shorewall, dit vind ik een stuk praktischer. Het is een soort wrapper om IPtables heen en zorgt dat je dit soort dingen heel makkelijk in kan stellen.
Pagina: 1