[iptables] interne webserver intern via domeinnaam bereiken

Pagina: 1
Acties:

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024
Ik heb op een oude computer nu al een tijdje een mailserver draaien. Nu wilde ik aan de slag met iptables. Ik gebruik Debian stable bf2.4 en heb hem standaard vanaf diskette en internet geinstalleerd.

Iptables heb ik nu werkend dat hij routeert en alle achterliggende pc's voorziet van internet en dat mijn internetsites die op een iis server die erachter ligt te zien zijn op internet.

Mijn probleem:
Op de computers in het netwerk doen mijn internetsites op mijn interne webserver het niet en dat is best irritant omdat ik met VS.NET contact moet maken om op de sites te ontwikkelen. En je wilt ook controleren of je sites het doen natuurlijk.

Ik probeer dus op een client via VS.net maar ook via de browser contact te maken met www.mijndomein.nl en dat lukt niet. Ik zit nu op mijn werk en daar is www.mijndomein.nl is daar gewoon beschikbaar.

De situatie
vanaf het internet komt het verkeer binnen op de router/mailserver, daarna gaat het naar een switch waaraan de clients en webserver hangt

mijn iptables: (gedeelte ervan)

Alles staat op accept (inclusief -t nat) en alles wordt eerst geflushed enzo
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
##masquerade
${IPTABLES} -A POSTROUTING -t nat -o ${EXTERNAL_INTERFACE} -j MASQUERADE

${IPTABLES} -A FORWARD -i ${INTERNAL_INTERFACE} \
          -o ${EXTERNAL_INTERFACE} -s ${LAN} -d ! ${LAN} -j ACCEPT

##portforwarding
${IPTABLES} -A FORWARD -o ${INTERNAL_INTERFACE} \
          -i ${EXTERNAL_INTERFACE} -d ${LAN} -s ! ${LAN} \
          -m state --state RELATED,ESTABLISHED -j ACCEPT
${IPTABLES} -t nat -A PREROUTING -i ${EXTERNAL_INTERFACE} -p tcp \
            --dport 80 -j DNAT --to $webserver:80
${IPTABLES} -t nat -A POSTROUTING -s $webserver -p tcp --sport 80 \
            -j SNAT --to $extern_ip:80


Wat gaat hier mis? De masquerade of de portprerouting?

Ik heb al verschillende andere prerouting en postrouting voor de webserver geprobeer en heb ook al op meer dan tientallen sites gekeken (o.a. natuurlijk www.nedlinux.nl/~bart)

Big ps:
Ja ik weet dat het niet veilig is zo, maar ik wil eerst een situatie creeren dat alles qua routering werkt en daarna gooien we de boel wel op slot.

And Bob's your uncle ...


Verwijderd

Ow ik weet al een oplossing: verander het bestand "hosts" in c:\windows\system32\drivers\etc
BV 192.168.0.1 <tab> www.joudowmein.nl

[ Voor 13% gewijzigd door Verwijderd op 24-09-2003 09:52 ]


Verwijderd

dus dat ip adres veranderen in die van je server
dan alle explorers sluiten en klaar
In linux heb je ook een HOSTS

[ Voor 16% gewijzigd door Verwijderd op 24-09-2003 09:53 ]


  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024
Dit werkt. Ik ga verder even kijken hoe ik al mijn andere (sub)domeinen een beetje snel in een hostfile kan krijgen.

Dank

Zoek je naar een speld in de hooiberg. Is het gewoon de verkeerde hooiberg :)

[ Voor 25% gewijzigd door Scharnout op 24-09-2003 12:40 ]

And Bob's your uncle ...


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05 22:30

FendtVario

The leader drives Vario!

Als je zelf een DNS server draait kun je natuurlijk ook een aparte DNS zone opzetten voor je interne netwerk. Dat heb ik hier thuis ook. Een DNS zone voor buiten die alle DNS requests van buiten afhandeld en twee internet zones voor beide ip-ranges.

Als je Bind gebruikt kun je met de allow-directive bepalen welke adressen een zone mogen raadplegen.

www.fendt.com | Nikon D7100 | PS5


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Het probleem is ook gewoon op te lossen mbv iptables. Je moet dan ook het verkeer van interne clients naar $extern_ip:80 DNAT'ten naar je interne server EN tegelijk SNAT'ten om te voorkomen dat je interne server rechtstreeks antwoord geeft aan je interne client ipv via de router. De client verwacht namelijk antwoord van $extern_ip:80 en niet $webserver:80.

Dus:
code:
1
2
3
4
${IPTABLES} -t nat -A PREROUTING -p tcp -d $extern_ip --dport 80 \
            -j DNAT --to $webserver:80
${IPTABLES} -t nat -A POSTROUTING -p tcp -s ${LAN} -d $webserver \
            --dport 80 -j MASQUERADE
gebruik hier masquerade ipv snat zodat er geen router ip hoeft te worden opgegeven


Deze regel is niet nodig omdat het antwoord op pakketten die geDNAT'd zijn automagisch geSNAT'd worden.
code:
1
2
${IPTABLES} -t nat -A POSTROUTING -s $webserver -p tcp --sport 80 \
            -j SNAT --to $extern_ip:80

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
maar ja is dat de mooiste oplossing? Overigens zowel de windows hosts file en iptables oplossing vind ik niet zo heel mooi... ik zou er voor kiezen om een mooie dns server te maken, scheelt je sowieso al in dataverkeer omdat je de dns dan ook zo kan instellen dat die statische pagina's netjes chached. Als je dan via dhcp standaard je eigen dns meegeeft, en in je zone file aangeeft dat je www.websitevanmij.nl naar je interne ip gaat, dan los je netjes je probleem op.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024
Goed. Dat wordt weer een paar dagen prutsen en lezen voordat we een DNS aan de praat hebben :)

Ik probeer straks die iptable-oplossing nog even en dan gebruik ik 1 van de twee oplossingen voor tijdelijk en ga ik later wel weer prutsen met een DNS-server.

And Bob's your uncle ...


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05 22:30

FendtVario

The leader drives Vario!

Zwerver schreef op 24 September 2003 @ 15:24:
scheelt je sowieso al in dataverkeer omdat je de dns dan ook zo kan instellen dat die statische pagina's netjes chached.
Haal je hier niet een proxy en een dns-server door erlkaar. Je kunt je DNS server caching maken. Dan onthoudt hij de ip-adressen voor domeinnamen zolang deze geldig zijn (volgende de TTL, Time to Live). Dat een DNS server statische pagina's bewaard heb ik nog nooit gehoord. Maar een linkje zou zeker interessant zijn.

www.fendt.com | Nikon D7100 | PS5

Pagina: 1