Avatar billede thomas-k Nybegynder
18. oktober 2006 - 17:05 Der er 3 kommentarer og
1 løsning

Hjælp til iptables vedr. intern webserver

Jeg har en server, med 3 netkort. Eth0 (fx 60.0.0.1) samt eth1 (fx 60.0.0.2) har egne globale ip'er, og eth 2 er indersiden (fx. 10.0.0.1). På det interne netværk har jeg en klient (fx 10.0.0.2), som skal hoste en webserver på port 5000. Derfor har jeg indsat disse regler:

iptables -t nat -A PREROUTING -i eth0 -p tcp -d 60.0.0.1 --dport 5000 -j DNAT --to-destination 10.0.0.2:5000

iptables -A FORWARD -i eth0 -o eth2 -p tcp --dport 5000 -d 10.0.0.2 -j ACCEPT

- men ovenstående hjælper ikke? Nogle som kan se hvad jeg mangler?

NB. I toppen anvendes masquerade på eth0 og eth1. Derudover droppes al trafik, pånær output.
Avatar billede langbein Nybegynder
21. oktober 2006 - 00:48 #1
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 60.0.0.1 --dport 5000 -j DNAT --to-destination 10.0.0.2:5000

... OK, preroter til port 5000 på 10.0.0.2

iptables -A FORWARD -i eth0 -o eth2 -p tcp --dport 5000 -d 10.0.0.2 -j ACCEPT

... Også OK åpner forwarding firewall for denne trafikken.

Det som formodentlig gjør at det ikke kan kjøre:

TCP er alltid en toveis forbindelse. Det vil således aldri være nok å kun åpne for trafikk den ene vei. Man må også ta hensyn til den returtrafikk som vil måtte generere og også åpne for denne.

Denne bør kunne gi flyt i returtrafikken ut:

iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT

Hvis man synes dette blir for liberalt så er det også mulig å sette opp en statefull inspection i trafikkretning ut.

Tror ellers ikke at man kan ha masquerade på eth0 og eth1 samtidig. Det bør vel være en av dem.
Avatar billede thomas-k Nybegynder
21. oktober 2006 - 22:26 #2
hmm, det hjalp heller ikke. Flere forslag er meget velkomne. Finder jeg selv ud af det, vender jeg lige tilbage med et svar.
Avatar billede thomas-k Nybegynder
14. november 2006 - 09:33 #3
Jeg tænker faktisk på om mit problem ikke er at jeg tester det indefra netværket, ud på internettet, ind i netværket igen, og så ikke får lov til at få svar tilbage fordi jeg sidder indvendig og tester som om jeg sidder eksternt? I så fald, hvad skulle der til for at jeg får lov til at få svar tilbage?

Vil senere i dag teste om det ikke virker eksternt.
Avatar billede thomas-k Nybegynder
02. december 2006 - 11:36 #4
Nå, endelig fandt jeg ud af hvad der er galt. Det hele virkede udefra, men ikke indefra. Derfor skulle denne linie tilføjes, ud over prerouting reglen:

iptables -t nat -A POSTROUTING -p tcp -d "webserverip" --dport 4000 -j SNAT --to-source "firewallip"

- nu virker det udefra, og indefra.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester