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

Permalänk
Medlem

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!

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk
Medlem

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.

Permalänk
Rekordmedlem

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

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem

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.

Permalänk
Medlem
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.

Permalänk
Medlem
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?

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk
Medlem

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
Permalänk
Medlem
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 :/

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕