Anslut till externt IP trots att jag befinner mig på det IP:t - how?

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Nov 2011

Anslut till externt IP trots att jag befinner mig på det IP:t - how?

Jag har lite svårt att förklara vad jag vill göra men jag ska försöka:

På min server (IP: 192.168.0.X) har jag lite roliga saker körandes (ZNC, ownCloud, VPN, osv) vilka jag kan ansluta till från annan ort genom att forwarda respektive port. Det fungerar alldeles ypperligt att ansluta till serverns lokala IP när jag befinner hemma och jag kan ansluta till mitt externa IP:<PORT> för att använda tjänsterna från annan ort.

Mitt problem: När jag kommer hem för dagen och startar upp min laptop slutar alla tjänster att fungera - eftersom jag ansluter till dem med mitt externa IP.

Min fråga: Finns det något sätt att lösa det här problemet? Jag vill alltså kunna ansluta till <EXTERNT IP>:<PORT> när jag är hemma (och alltså redan befinner mig på det IP:t).

Nätverket ser ut som följer:
Internet -> Router (Debian, iptables) -> Switch -> Server & Accespunkt & Dator & NAS

Tack på förhand!

Linux: the operating system with a CLUE; Command Line User Environment.

GNU/Linux

Trädvy Permalänk
Medlem
Plats
Växjö
Registrerad
Sep 2002

En workarround är att du använder DNS namn så din lokala DNS pekar på det interna IPt och DNS på internet pekar på de externa. Det är en ganska vanlig lösning (split dns brukar man kalla de).

Det går oxå att lösa med iptables men jag har inte lösningen i huvudet. Lite bakvänd NAT typ.

Trädvy Permalänk
Rekordmedlem
Plats
Salstad
Registrerad
Feb 2009

Har du en domän går det nog att editera hosts filen så domänen pekar på den interna datorn.

Phenom 2 960T (körs x6) med passivt Ninja på Asus Crosshair 4 Asus 4850 och en väldig massa masslagring.Passiv kyld Northq nätdel 450W Antec P 180 med Schyte o Sharkoon fläktar via en t-balancer, väldigt tyst, oftast passivt. Datorljud 2kanal: ljudkort/dsp Behringer DCX2496, högtalare Truth B3031A, Truth B2092A Har också Oscilloskop och mätmikrofon.

Trädvy Permalänk
Medlem
Registrerad
Maj 2014

För min del låter det som du är ute, kanske får en publik ip på jobbet, sedan så kommer du hem och försöker använda samma ip du fått på jobbet, vilket betyder att du inte tillhör samma ip nät eftersom du kör NAT/PAT hemma med 192.168.x.x

Så nej, det kommer inte fungera. För annars skriver du att det fungerar båda lokalt hemma och utifrån, men bara problem när du kommer hem från annan ort.

Du måste i sånt fall använda DHCP på din laptop eller så använder du samma ip nät de använder på jobbet. T.ex så kanske de använder 172.16.x.x på ditt jobb men att du använder 192.168.x.x, så själva nät bytet mellan platserna krockar.

Trädvy Permalänk
Medlem
Registrerad
Maj 2014
Skrivet av VexedRelic:

För min del låter det som du är ute, kanske får en publik ip på jobbet, sedan så kommer du hem och försöker använda samma ip du fått på jobbet, vilket betyder att du inte tillhör samma ip nät eftersom du kör NAT/PAT hemma med 192.168.x.x

Så nej, det kommer inte fungera. För annars skriver du att det fungerar båda lokalt hemma och utifrån, men bara problem när du kommer hem från annan ort.

Du måste i sånt fall använda DHCP på din laptop eller så använder du samma ip nät de använder på jobbet. T.ex så kanske de använder 172.16.x.x på ditt jobb men att du använder 192.168.x.x, så själva nät bytet mellan platserna krockar.

Jag tror att det handlar om att port forward på hans router helt enkelt inte fungerar från insidan. Tyvärr gör det inte alltid det och det beror på att datorn skickar till routern som ska vidarebefordra det till servern. Om inte routern ändar avsändaradress till sin egen så kommer servern att svara direkt till datorn som den tror har skickat det. Datorn tycker sig ha pratat med den publika IP adressen och dissar servern (med all rätt).

Det stod ingenting om att killen/tjejen inte kom ut på internet hemma, utan det var väl specifikt servern på publik IP adress som den inte kom åt.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Nov 2011
Skrivet av =JoNaZ=:

En workarround är att du använder DNS namn så din lokala DNS pekar på det interna IPt och DNS på internet pekar på de externa. Det är en ganska vanlig lösning (split dns brukar man kalla de).

Det går oxå att lösa med iptables men jag har inte lösningen i huvudet. Lite bakvänd NAT typ.

Hm, det här låter onekligen intressant (och en snabb sökning på nätet vittnar om att det borde fungera). Emellertid vet jag inte riktigt hur jag ska lösa en sådan sak, har du något bra tips på var jag ska leta för att lära mig mer om detta?

Linux: the operating system with a CLUE; Command Line User Environment.

GNU/Linux

Trädvy Permalänk
Medlem
Registrerad
Maj 2003

Funktionen du letar efter heter NAT loopback (aka NAT hairpin eller NAT reflection), och stöds som standard av Netfilter (som styrs via bland annat iptables). Så om det inte fungerar för dig så har du gjort något fel vid konfigureringen av brandväggen i Debian.

Du behöver två regler, en i filter->FORWARD. Accept på rätt protokoll och rätt destination port, och med rätt incoming interface och rätt outgoing interface.
Och en andra regel under nat->PREROUTING. DNAT på rätt IP och port den ska skickas till, med rätt incoming interface, rätt protokoll och rätt destination port.

Exempelvis för vidarebefodring av TCP på porten 2222 till 192.168.0.2, där eth0 är mot LAN och eth1 mot WAN:

sudo iptables -t filter -L FORWARD -v: 0 0 ACCEPT all -- eth1 eth0 anywhere anywhere state RELATED,ESTABLISHED ... 0 0 ACCEPT tcp -- eth1 eth0 anywhere anywhere tcp dpt:2222 sudo iptables -t nat -L PREROUTING -v: ... 0 0 DNAT tcp -- eth1 any anywhere anywhere tcp dpt:2222 to:192.168.0.2:2222

Och är du ovan så är Webmins modul för brandväggen lättare att förstå än iptables i min mening.
Då ser de två reglerna ut såhär:

1:

2:

Dold text
Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Nov 2011
Skrivet av Genesis:

Funktionen du letar efter heter NAT loopback (aka NAT hairpin eller NAT reflection), och stöds som standard av Netfilter (som styrs via bland annat iptables). Så om det inte fungerar för dig så har du gjort något fel vid konfigureringen av brandväggen i Debian.

Det verkar onekligen som att det är detta jag är på jakt efter. Emellertid får jag det inte riktigt att fungera. Jag kan till exempel ansluta till div tjänster mha en webbläsare men om jag försöker använda en applikation och ansluta till en annan port än port 80 fungerar det inte alls :/

Linux: the operating system with a CLUE; Command Line User Environment.

GNU/Linux