Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 569
Hei.
Jeg lurte på, siden port 80 er default for http, å mange spill har en default port..
Hvordan kan mange pcer koble til en server med den samme porten?
å om man har 2 web servere på ett nettverk. Å hostname ditt er f.eks: lol.no (som er wan ip til nettverket)
Å manprøver å gå inn på lol.no uttenfra, hvordan vet pcen hvilken av de 2 serverene den skal til? Siden: lol.no= wan ip
å den er lik for begge..

Å siste spørsmål... hvordan kan jeg laste ned ting med torrent o.l uten porten er åpnet i routeren?
Hei Her kommer jeg med flere ting som du kan ha nytte av å vite.

Hvordan kan flere maskiner bruke samme port, å hvordan kan man ha 2 servere?
Vis hele sitatet...
Det er ikke maskinen som bruker porten, men IP-adressen som maskinen har. La oss si at maskinen din har IP-adresse 192.168.1.100. Du kan dermed ha en server på port 80 (192.168.1.100:80).
Hvis din PC har flere IP-adresser, f.eks. 192.168.1.100 og 192.168.1.101, så kan du til og med f.eks. bruke Apache webserver på IP 192.168.1.100, og Nginx på 192.168.1.101, begge på port 80. Eller selvfølgelig, et domene på 192.168.1.100, et annet domene på 192.168.1.101, uavhengig av hvilken webserver du bruker. Det er som sagt IP-adressen som lytter på porten, ikke maskinen.

Når du først har startet en tjeneste som lytter på en adresse (192.168.1.100) og en port (80), så er det ikke mulig å få en annen tjeneste til å lytte på samme IP og port. Derfor kan du i mange tilfeller velge selv hvilken IP-adresse som tjenesten skal lytte på, som oftest er den satt til 0.0.0.0 (eller stjerne *), eller 127.0.0.1, eller localhost, eller noe. Er den satt til 0.0.0.0, så er det fordi den tjenesten skal lytte på port 80 på alle IP-adresser som maskinen din har. Er den satt til 127.0.0.1, så er tjenesten kun tilgjengelig fra samme maskin som den selv står på. Setter du den til 192.168.1.100, så vil andre enheter på nettverket kunne kontakte tjenesten (akkurat som når den er satt til 0.0.0.0, men hvis du setter til 192.168.1.100, og din PC også har 192.168.1.101, så vil ikke tjenesten være tilgjengelig på 192.168.1.101)

Så når du har flere PC-er på nettverket ditt, alle med hver sin IP-adresse, og alle kjører webserver på port 80, og vil ha tak i dem fra utsiden, så må du huske på det jeg tidligere skrev; Det er IP-adressen som lytter på porten. Når du har kun en WAN IP-adresse, så kan du dessverre kun port forwarde til kun en av maskinene, men det finnes løsninger rundt dette, f.eks. reverse proxy og slikt.

Hvordan kan mange pcer koble til en server med den samme porten?
Vis hele sitatet...
En server er jo laget for å være sånn. Ta i mot mange klienter samtidig.

Å manprøver å gå inn på lol.no uttenfra, hvordan vet pcen hvilken av de 2 serverene den skal til? Siden: lol.no= wan ip
å den er lik for begge..
Vis hele sitatet...
Det er det vi har virtualhost for. Når man besøker lol.no fra utsiden, så vil domenenavnet også taes med til webserveren, og den vil spørre webserveren om å få se nettsiden for domenet lol.no

For Apache konfigurerer du det slik (Lytter på alle IP-adresser):

Kode

Listen 80
<VirtualHost *:80>
    DocumentRoot "/www/lol.no"
    ServerName www.lol.no
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/www/example.org"
    ServerName www.example.org
</VirtualHost>
Dersom hver sin webside skal ha hver sin IP:

Kode

Listen 80
<VirtualHost 192.168.1.100:80>
    DocumentRoot "/www/lol.no"
    ServerName www.lol.no
</VirtualHost>

<VirtualHost 192.168.1.101:80>
    DocumentRoot "/www/example.org"
    ServerName www.example.org
</VirtualHost>
For Nginx konfigurerer du det slik:

Kode

server {
        listen 80;
        listen [::]:80;

        root /var/www/lol.no;
        index index.html index.htm;

        server_name lol.no;

        location / {
                try_files $uri $uri/ =404;
        }
}
server {
        listen 80;
        listen [::]:80;

        root /var/www/example.org;
        index index.html index.htm;

        server_name example.org;

        location / {
                try_files $uri $uri/ =404;
        }
}
eller med hver sin egen IP:

Kode

server {
        listen 192.168.1.100:80;
        listen [::]:80; //Lytter på alle IPv6-adresser som maskinen har.

        root /var/www/lol.no;
        index index.html index.htm;

        server_name lol.no;

        location / {
                try_files $uri $uri/ =404;
        }
}
server {
        listen 192.168.1.101:80;
        listen [::]:80; //Lytter på alle IPv6-adresser som maskinen har.

        root /var/www/example.org;
        index index.html index.htm;

        server_name example.org;

        location / {
                try_files $uri $uri/ =404;
        }
}
Når det er sagt: Det er utdatert å basere seg på IPv4-adresser. Bruk heller IPv6-adresser, det er nemlig lagt opp mulighet for så mange IPv6-adresser at alle enheter i hele verden kan få hver sin adresse, og man trenger på ingen måte port forwarding eller noe sånt, fordi man er ikke bak NAT når man gjør IPv6 på riktig måte. Jeg hoster alle mine kunder på IPv6, og har en server med IPv4-adresse som fungerer som reverse proxy til IPv6-adressen.
Sist endret av Tysteren; 23. november 2023 kl. 09:17. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
tusen takk for utfyllende svar.. men hvordan kan jeg laste ned f.eks torrent å bruke andre tjenester som bruker forskjellige porter, uten å opne de portene? men enkelte enheter å tjenester må jeg åpne portene for å kunne bruke?
Sitat av ticsyboy Vis innlegg
tusen takk for utfyllende svar.. men hvordan kan jeg laste ned f.eks torrent å bruke andre tjenester som bruker forskjellige porter, uten å opne de portene? men enkelte enheter å tjenester må jeg åpne portene for å kunne bruke?
Vis hele sitatet...
UPnP åpner porten for deg automatisk. Det må være aktivert på routeren. Da vil torrent-programmet (eller routeren) velge en tilfeldig ledig port innenfor rammene som er satt (En tilfeldig port mellom 60000 og 65535 for eksempel), torrentprogrammet sørger for at nedlastingen lytter på riktig IP og port, og sørger for at routeren også ordner med NAT-delen for deg. Dette er midlertidig og oppheves når du stopper nedlastingen.

En webserver må alltid være tilgjengelig på den samme porten hver gang, altså port 80 eller 443. Det må også være fastsatt hvilken maskin som er webserver. UPnP fungerer dynamisk, og kan derfor ikke brukes til dette. Det er også noen restriksjoner på hvilke porter du har lov til å bruke, for eksempel kan man ikke bruke portnummer mindre enn 1024 på Linux hvis man ikke starter prosessen som root-bruker (administrator)

Noen har kanskje lest om double-NAT og at det skaper problemer med f.eks. online-gaming, det skjer når man har to routere etter hverandre. Det er nettopp fordi UPnP blir forhindret fra å gjøre jobben sin riktig.

En ting til jeg vil legge til, i tilfelle du ikke vet:
Lagt merke til forskjellen på http og https?
Du vet sikkert at det handler om sikkerhetsgreier, sertifikater og sånt.
Men vet du at når du besøker en nettside med https-protokollen, så er det ikke port 80 som brukes, men 443?
Med andre ord er det meningen at du skal port forwarde både port 80 og 443 til webserveren din. Dette vil gjøre nettsiden tilgjengelig både på http og https. Du vil nå også vurdere å automatisk videresende folk fra http til https.
Sist endret av Tysteren; 23. november 2023 kl. 09:38. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
takk for utfyllende svar nokk engan, ja vet om http(s) er 443... men jeg har ikke UPnP aktivert på min router eller torrent client, siden torrent siden jeg bruker anbefaler å skru at dette (torrentday.com) men jeg får likevell til å laste ned, hvorfor? å hvofor kan jeg bruke andre tenester som nbruker porter f.eks: spotify, counter strike osv uten å åpne porter?
Sitat av ticsyboy Vis innlegg
takk for utfyllende svar nokk engan, ja vet om http(s) er 443... men jeg har ikke UPnP aktivert på min router eller torrent client, siden torrent siden jeg bruker anbefaler å skru at dette (torrentday.com) men jeg får likevell til å laste ned, hvorfor? å hvofor kan jeg bruke andre tenester som nbruker porter f.eks: spotify, counter strike osv uten å åpne porter?
Vis hele sitatet...
Det er fordi alle disse tjenestene er designet for å kunne omgå dette problemet, nemlig ved å opprette en utgående forbindelse istedenfor å åpne for innkommende. Det betyr altså at torrent-klienten din, eller spillet (CSGO) eller Spotify, oppfører seg som en klient ved å koble seg til en server og hente data derfra, istedenfor å opprette en server og lytte på en port selv. Det samme skjer jo når du besøker en nettside; Du er i det tilfellet klienten, og det er serveren som har porten åpen.

Det er imidlertid slik at når du tvinger programmet til å bruke den "alternative" løsningen ved å deaktivere UPnP, så vil det føre til mindre effektiv kommunikasjon / nedlasting i mange tilfeller. Husk at når du gjør dette med torrents, så er det kun mulig for deg å hente data fra dem som har porter åpen. Det går ikke motsatt vei; De som skal gi deg filen kan ikke koble seg til deg og laste opp filen til deg. Du må koble til den som har filen og laste den ned, hvis vedkommende har porten åpen. Hvis ingen har UPnP aktivert eller åpnet porter, så vil ingen kunne laste ned / opp noe den ene eller andre veien.