Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: IP forward  (gelezen 637 keer)

Offline RensW

  • Lid
IP forward
« Gepost op: 2015/07/10, 23:13:44 »
Beste,

Op het werk hebben wij een internet verbinding met een aantal publieke IP adressen.
Nu hebben wij vandaag een 2e server bijgezet waar wij een webserver op willen draaien.
Dit is allemaal gelukt, maar dan komt het, de webserver moet ook van buitenaf te bereiken zijn.

We hebben een Ubuntu server en niet zo heel veel Linux kennis.
De Ubuntu server hebben we ingesteld als router/DHCP en dit werkt allemaal prima.
Nu is het de bedoeling dat we een 2e publiek IP adres doorrouteren naar de webserver.
Hiervoor hebben we, na lang zoeken, de volgende regel toegevoegd aan de iptables:
Citaat
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.14 -j DNAT --to 10.10.10.10
Wanneer we nu vanuit het interne netwerk naar het IP adres van de server gaan (privé en/of publiek) werkt het.

Nu zit ik echter thuis en wanneer ik nu naar het publieke adres ga werkt het niet.
Kan iemand mij vertellen waar het fout gaat?
Wat ik veel gevonden krijg is port-forwarding, maar hier gaat het om het complete IP adres.
Alles wat op xxx.xxx.xxx.14 binnenkomt zou door moeten worden gezet naar het 10.10.10.10 adres.

Zoals gezegd hebben we een Ubuntu server maar weinig Linux kennis.
Na een hele tijd zoeken zijn we tot bovenstaande regel gekomen en dit bleek te werken, helaas alleen intern.
Zou iemand mij kunnen helpen met de (juiste) oplossing zodat wij ook van buitenaf bij de webserver kunnen?

Graag hoor ik wat we vergeten / verkeerd doen.

Alvast bedankt!

M.v.g.
Rens

Offline Moob

  • Lid
Re: IP forward
« Reactie #1 Gepost op: 2015/07/11, 00:03:24 »
Ik handel dat soort dingen altijd op de firewall zelf af en niet op een aparaat wat erachter zit. Over het algemeen kan je op een firewall vrij simpel een portforward instellen. Ik zou ook niet weten waarom je een DHCP server, waarschijnlijk voor intern gebruik, aan het internet zou willen hangen.

Volgensmij mis je een FORWARD rule waarin je poort 80 door zet naar poort 80 op je interne IP adres. Zoals ik het zie heb je nu alleen de routering ingesteld.
« Laatst bewerkt op: 2015/07/11, 00:09:23 door Moob »

Offline RensW

  • Lid
Re: IP forward
« Reactie #2 Gepost op: 2015/07/11, 00:09:52 »
Misschien om e.e.a. wat te verduidelijken:

Op de Ubuntu router zit de inkomende internet verbinding, deze komt binnen op eth2 met IP xxx.xxx.xx.10.
Op poort eth5 zit de uitgaande LAN verbinding met als IP 10.10.10.1.
Eerst was dit alleen maar een router/DHCP voor het interne netwerk en meer deed deze niet.
Nu hebben we een extra server en deze willen we bereikbaar maken vanaf het internet, onder IP xxx.xxx.xxx.14.
Alle verkeer wat naar xxx.xxx.xxx.14 gaat moet doorgestuurd worden naar de nieuwe server met als IP 10.10.10.10.
De Ubuntu router hangt dus rechtstreeks aan de switch met daarop de internet verbinding en daarachter het LAN netwerk.

De vraag is nu, hoe stel ik de Ubuntu router in zodat hij alle requests naar xxx.xxx.xxx.14 doorstuurt naar 10.10.10.10.
De volgende regel is toegevoegd:
Citaat
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.14 -j DNAT --to 10.10.10.10
Hiermee kunnen we met het publiek adres (xxx.xxx.xxx.14) de server bereiken, maar alleen als we op het LAN netwerk zitten.

Nu zit ik thuis en wilde ik kijken of ik op de server kon, maar dat kan (helaas) nog niet.
Ik doe dus ergens wat verkeerd, maar ik zou niet weten wat...

Moob, ik weet niet precies wat jij bedoelt maar onze Ubuntu router zit recht aan het internet, en daar zit dus geen firewall o.i.d. tussen.

Zoals gezegd, het is dus de bedoeling dat alle verkeer voor xxx.xxx.xxx.14 doorgezet word naar 10.10.10.10, dus niet alleen het verkeer op poort 80.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: IP forward
« Reactie #3 Gepost op: 2015/07/11, 00:10:34 »
Je mist nog een SNAT regel, om het verkeer vanuit de server weer het internet op te krijgen.
iptables -t nat -A POSTROUTING -s 10.10.10.10 -j SNAT --to-source xxx.xxx.xxx.14

Of iets dergelijks.

Offline Moob

  • Lid
Re: IP forward
« Reactie #4 Gepost op: 2015/07/11, 00:15:33 »
Aha, duidelijk. Ik denk dat het antwoord van Johan em is. Het verkeer moet namelijk ook weer terug het internet op. :)


Offline RensW

  • Lid
Re: IP forward
« Reactie #5 Gepost op: 2015/07/13, 10:24:52 »
Beste,

Ten eerste bedankt voor de reacties!
Het probleem is alleen dat het nog niet wil werken.
Ik heb het idee dat het komt omdat er al enkele regels in staan die mogelijk tegen elkaar in werken.

De complete output van iptables/rules.v4 is:
Citaat
# Generated by iptables-save v1.4.21 on Tue Mar 10 11:09:24 2015
*nat
:PREROUTING ACCEPT [323:23056]
:INPUT ACCEPT [59:6795]
:OUTPUT ACCEPT [31:2677]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth5 -j MASQUERADE
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
# Completed on Tue Mar 10 11:09:24 2015
# Generated by iptables-save v1.4.21 on Tue Mar 10 11:09:24 2015
*filter
:INPUT ACCEPT [278:36336]
:FORWARD ACCEPT [18603:9408689]
:OUTPUT ACCEPT [105:12060]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Mar 10 11:09:24 2015
Wat de Ubuntu router nu doet is zorgen dat we vanuit het interne netwerk het internet op kunnen, veel meer niet.
Mijn idee is dus dat het met bovenstaande regels misschien niet helemaal lekker werkt, of dat ik het niet op de juiste regel neer zet.

Zou iemand mij kunnen uitleggen wat ik verkeerd doe en hoe de juiste instellingen zijn zodat we kunnen blijven internetten vanuit het interne netwerk maar dat ook alle requests naar (plubiek IP adres) xxx.xxx.xxx.14 doorgestuurd worden naar (privé IP adres) 10.10.10.10.

Alvast bedankt!