[IP-Tables] Dual Port Forward lukt niet!!!!

Pagina: 1
Acties:

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Ik heb Slackware 8 draaien met iptables om een adsl verbinding te delen.
Het ziet er ongeveer zo uit:

[internet]--[cisco router]--[slackware]--[intern netwerk]

Nou heb ik het op de Cisco al voor elkaar dat die de poorten 25 en 110 doorstuurd naar de linux box. Dit werkt!! Alleen moet de linux box nou die poorten doorsturen naar de mailserver intern dus heb ik dit uit de faq van de nos gehaald:
code:
1
2
iptables -A PREROUTING -t nat -p tcp -d 192.168.1.2 --dport 25 \ -j DNAT --to 192.168.0.*:25
iptables -A PREROUTING -t nat -p tcp -d 192.168.1.2 --dport 110 \ -j DNAT --to 192.168.0.*:110

Alleen als ik nu vanaf een extern adres een telnet naar 212.45.*.* doe op poort 25 of 110 werkt dat dus niet. Dan krijg ik een 'Connection refused' error. Weet iemand hoe dit kan, tips??

Hail to the king baby!


  • Pwigle
  • Registratie: December 2000
  • Laatst online: 31-03 16:10
Waarom staat er een * aan het eind ?
en zou het geen problemen kunnen opleveren aangezien het in een andere subnet 192.168.1 en 192.168.0 bevindt ?

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Op woensdag 10 april 2002 12:58 schreef DaPoztMaster het volgende:
Waarom staat er een * aan het eind ?
en zou het geen problemen kunnen opleveren aangezien het in een andere subnet 192.168.1 en 192.168.0 bevindt ?
ummm, klein foutje van mij, moet gewoon 31 zijn. In principe moet die portforward zo werken. Ik forward op die cisco toch ook 212.45.*.* poort 25 naar 192.168.1.2 poort 25, dus dan zou dit ook geen problemen mogen opleveren.

Een andere oplossing, als ik dit niet voor elkaar krijg, is om een tweede netwerkkaart in de mailserver te stoppen, die 192.168.1.3 geven en dan vanaf de router rechtstreeks forwarden, maar dat wil ik liever niet doen!

Hail to the king baby!


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Kan niemand me hier mee helpen??

Hail to the king baby!


  • imdos
  • Registratie: Maart 2000
  • Laatst online: 11:27

imdos

I use FreeNAS and Ubuntu

Moet die slackware bak als bridge werken of als firewall :?

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Op woensdag 10 april 2002 17:38 schreef imdos het volgende:
Moet die slackware bak als bridge werken of als firewall :?
Firewall

Hail to the king baby!


  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

Wat doen die slashes daar in je iptables-regels? Als je alles op 1 en dezelfde regel typt (wat je nu dus ook doet), dan mag je die slash daar niet neerzetten.

(probeer maar eens "ls -la", "ls \<enter>-la" en "ls \ -la" voor de verschillen)

Ik denk dus dat je gewoon je dnat niet goed word ingeladen..

Yo dawg, I heard you like posts so I posted below your post so you can post again.


Verwijderd

[offtopic] Sorry, wat jij doet moet je zelf weten maar kun je me vertellen waarom je een router achter een router zet? :? /me ik ben gewoon nieuwsgierig [/offtopic]

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Ja hoor, met deze linux oplossing kan ik gebruikers afknijpen op ongeveer 30 kb/s zodat er niet al te veel gedownload gaat worden met progs als kazaa/morpheus/edonkey enz. Plus ik kan makkelijker dingen dicht gooien. Websites blokkeren, gebruikers blokkeren enz. Om dat allemaal op die router te doen moet je toch behoorlijk wat van cisco ios afweten en dat weet ik dus niet. Plus kan ik mooi ervaring opdoen met linux/slackware/iptables enz.

Hail to the king baby!


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Op donderdag 11 april 2002 11:09 schreef JayTaph het volgende:
Wat doen die slashes daar in je iptables-regels? Als je alles op 1 en dezelfde regel typt (wat je nu dus ook doet), dan mag je die slash daar niet neerzetten.

(probeer maar eens "ls -la", "ls \<enter>-la" en "ls \ -la" voor de verschillen)

Ik denk dus dat je gewoon je dnat niet goed word ingeladen..
Die slashes staan daar ook niet in mijn iptables script!! Klein foutje van mij, sorry. Ik had dat zo gekopieerd uit de faq en daar komt waarschijnlijk dat foutje vandaan!

Hail to the king baby!


  • Equator
  • Registratie: April 2001
  • Laatst online: 10:23

Equator

Crew Council

🦺#Rodekruis #whisky #barista

code:
1
2
3
iptables -A PREROUTING -t nat -i "externe int." -p tcp --dport 25 -j DNAT --to 192.168.0.31 --dport 25

iptables -A PREROUTING -t nat -i "externe int." -p tcp --dport 110 -j DNAT --to 192.168.0.31 --dport 110

Of...!!!
code:
1
2
3
iptables -A PREROUTING -t nat -i "externe int." -p tcp --dport 25 -j DNAT --to 192.168.0.31:25

iptables -A PREROUTING -t nat -i "externe int." -p tcp --dport 110 -j DNAT --to 192.168.0.31:110

je moet wel aangeven waar het heen moet worden gestuurd.
Inderdaad kan je beter geen "/" in je commando gebruiken.
En voor de duidelijkheid even het "ethx" van je externe NIC hier in gebruiken..
Zo zou het moeten werken.
letop, dit kan je waarschijlijk alleen van de buitenkant testen.

  • imdos
  • Registratie: Maart 2000
  • Laatst online: 11:27

imdos

I use FreeNAS and Ubuntu

En als je nu die cisco router zegt dat het naar 192.168.0.31 moet en dan doe je op die cisco router een extra route toevoegen.

En die regels die moeten gewoon wereken afaik!

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Op donderdag 11 april 2002 17:19 schreef imdos het volgende:
En als je nu die cisco router zegt dat het naar 192.168.0.31 moet en dan doe je op die cisco router een extra route toevoegen.

En die regels die moeten gewoon wereken afaik!
Dat kan toch zo niet op die cisco, aangezien die als ip 192.168.1.1 heeft??
Tja, die regels zouden moeten werken maar doen het toch niet. Ik zal even mijn rc.iptables posten hier.

[edit]

hier is ie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/bash

/etc/rc.d/flush-iptables

echo "1" > /proc/sys/net/ipv4/ip_forward

# Defining interfaces
LO_IFACE="lo"
LAN_IFACE="eth0"
INET_IFACE="eth1"

# Loopback
LO_IP="127.0.0.1/32"

# LAN Side
LAN_IP=`ifconfig $LAN_IFACE | grep inet | cut -d : -f 2 | cut -d \  -f 1`
LAN_MASK=`ifconfig $LAN_IFACE | grep Mask | cut -d : -f 4`
LAN_NET="$LAN_IP/$LAN_MASK"

# Internet
INET_IP=`ifconfig $INET_IFACE | grep inet | cut -d : -f 2 | cut -d \  -f 1`
INET_MASK=`ifconfig $INET_IFACE | grep Mask | cut -d : -f 4`
INET_NET="$INET_IP/$INET_MASK"


echo "Internal: $LAN_NET"
echo "External: $INET_NET"

# Whereis iptables
IPTABLES="/usr/local/sbin/iptables"

################################################################################
# Set default policies for the INPUT, FORWARD and OUTPUT chains
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#Enable simple IP Forwarding and Network Adress Translation
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
$IPTABLES -A PREROUTING -t nat -i $INET_IFACE -p tcp --dport 25 -j DNAT --to 192.168.0.31:25
#$IPTABLES -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 110 -j DNAT --to 192.168.0.31:110

#TEST
$IPTABLES -A FORWARD -s 192.168.0.154 -d 0.0.0.0/0 -j DROP

#Accept the packets we actually want to forward

$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPTABLES -A FORWARD -m --limit 3/minute --limit-burst 3 -j LOG \ --log-level DEBUG --log-prefix #"IPT FORWARD packet died:"

#Create separate chains for ICMP, TCP and UDP to traverse
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets

#The allowed chain for TCP connections
$IPTABLES -N allowed
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

#ICMP rules
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

#TCP Rules
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 20 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 23 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 443 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 8080 -j allowed
#SAMBA
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 139 -i $LAN_IFACE -j ACCEPT

#UDP rules/ports
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 23 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 1024:65535 -j ACCEP
T

#Rules for incoming packets from the Internet
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets

#Special OUTPUT rules to decide which IP's to allow
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT

#
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP -j ACCEPT

Hail to the king baby!


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Niemand die me verder kan helpen?? Het werkt nl. nog steeds niet!

Hail to the king baby!


  • active2
  • Registratie: Juni 2001
  • Laatst online: 26-10-2024

active2

Google is your friend

<offtopic>
Dat urk-forever dat is wel een beetje overdreven niet?? >:)
</offtopic>

Maar sorry ik kan je niet verder helpen omdat ik me daar nog niet mee bezig gehouden heb! :)

Maar in c't magazine staat misschien wel wat tenminste ik heb hem net gekocht en daar stond wat over iptables in! Misschien dat je daar wat aan hebt ;)

Google, Het mirakel van de 21e eeuw!!!!


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Ik heb hier nu eenzelfde oplossing staan alleen dan ipv Linux een Windows2000 server met internet connection sharing. Nou heb ik op de cisco ook weer de poorten geforward alleen werkt ie hier ook weer niet. Ik begin nou toch te denken dat die cisco de dwarsligger is.

Hail to the king baby!


  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

Ga dan eerst eens kijken wat voor headers je binnen krijgt op de interface van/naar de cisco toe door alle input en forwards te loggen.
Dan weet je in ieder geval wat voor data er binnenkomt en dan is meestal heel snel duidelijk wat er aan de hand is.
code:
1
2
iptables -A INPUT -p tcp -m tcp -dport 25 -j LOG
iptables -A FORWARD -p tcp -m tcp -dport 25 -j LOG

Yo dawg, I heard you like posts so I posted below your post so you can post again.


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Op maandag 15 april 2002 16:26 schreef JayTaph het volgende:
Ga dan eerst eens kijken wat voor headers je binnen krijgt op de interface van/naar de cisco toe door alle input en forwards te loggen.
Dan weet je in ieder geval wat voor data er binnenkomt en dan is meestal heel snel duidelijk wat er aan de hand is.
code:
1
2
iptables -A INPUT -p tcp -m tcp -dport 25 -j LOG
iptables -A FORWARD -p tcp -m tcp -dport 25 -j LOG
Alstu:
code:
1
2
3
4
IN=eth1 OUT=eth0 SRC=217.121.141.21 DST=192.168.0.31 LEN=60 TOS=0x10 PREC=0x00 T
TL=54 ID=21530 DF PROTO=TCP SPT=2307 DPT=25 WINDOW=5840 RES=0x00 SYN URGP=0
IN=eth1 OUT=eth0 SRC=217.121.141.21 DST=192.168.0.31 LEN=60 TOS=0x10 PREC=0x00 T
TL=54 ID=21531 DF PROTO=TCP SPT=2307 DPT=25 WINDOW=5840 RES=0x00 SYN URGP=0

Waar ik zelf aan zit te denken is dat het probleem is dat er 2x poorten geforward worden en dat dat niet goed gaat! Dat er op een of andere manier informatie verloren gaat van de bestemming??

Hail to the king baby!


Verwijderd

Die 'Connection refused', krijg je die nog steeds? Dat betekent dat je een TCP Reset terugkrijgt, maar van welke machine dan?
1- Van je linux doos? Maar ik zie geen REJECT rule. Helaas weet ik iets te weinig van iptables om hier zeker van te zijn. Impliciete rule die matcht?

2- Van de Cisco router? In principe zelfde verhaal.

3- Van de mailserver omdat daar geen server op port 25 op dat IP adres luistert. (configuratie fout mailserver)

4- Van de mailserver omdat daar op een andere port dan 25 op geconnect wordt. (port translatiefout linux doos)

5- Van nog een andere machine omdat daar geen server op port 25 op dat IP adres luistert. (IP translatiefout linux doos)

6- Als 5. Dit kan ook evt je linux doos zelf zijn.

Grappig dat ik zo gaandeweg schrijvend op 6 uitkom. Kun je ook logging van je Nat rule aanzetten? Als deze niet werkt gebeurt nl precies 6 wed ik. Je kunt ook de geladen rules dumpen met iptables geloof ik.

Heb je ook al gekeken wat er op de mailserver gebeurt?
(tcpdump, windump, "netstat -an | grep 25")

Om te kijken of de routing klopt vul hieronder in voor a b c d e f g:
IP adres
netmask
relevante gateways
[telnet]g--a[cisco router]b--c[slackware]d--e[mailserver]

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 07:10
Waarom doe je het niet zo:
op je cisco:
route add <mailserver> gateway <linux bak>
en even aangeven dat de mail naar <mailserver> moet.

in linux: iptables -t nat -A POSTROUTING -o <ethINTERN> -s <router> -d <mailbak> -p tcp --dport 25 -j MASQUERADE

Verwijderd

Nee, die linux doos kan geen gateway zijn. Hij doet immers NAT.

Ik zou hem gewoon als router configureren (is dan wel gateway). Dat sluit die firewall/afknijp functionaliteit die je wilt toch niet uit?

m.i. gebruik je NAT alleen bij gebrek aan IP adressen, en die heb je genoeg.

PS: is urk_forever nog urk_stillthere?

Oja, je moet dan nog wel op de cisco de nodige port forwarding rules instellen.
Wil je dat liever niet (dat gaf je aan?), dan wordt het toch een NAT doos.

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-05 17:36
Sorry dat ik dit oude topic schop maar zouden de laatsten die gereplied mij misschien nog even kunnen helpen of we dit misschien als nog kunnen oplossen?

Hail to the king baby!

Pagina: 1