Come far funzionare un PC come router su una porta


0

Ho un server Linux nel mio laboratorio (di seguito chiamato pc1) e ho un PC Windows2 in cui ho un server di gioco in esecuzione. Ma dal momento che è una rete privata e l'unico PC a cui Internet può accedere è il PC1. Ma voglio che il server di gioco su pc2 sia visto da Internet esterno. Ma non ho il permesso di accesso al router del nostro laboratorio. Quindi voglio che il pc1 funga da router che inoltra pc1: port1 a pc2: port2 e viceversa. E poi la richiesta da internet esterno può accedere a pc2: port2 e rispondere da pc2 possono anche raggiungere l'esterno. Esiste un metodo per raggiungere questo obiettivo?


1
Se non riesci ad accedere al router vero e proprio, come farai ad inoltrarlo dal router: port1 a pc1: port1?
Paul,

Risposte:


1

Chiamiamo eth0 l'interfaccia (IF) su cui pc1 è collegato al router e eth1 l'IF su cui pc1 è collegato a pc2. Sono necessari questi comandi, emessi come sudo, su pc1:

 service network-manager stop
 ifconfig eth0 down
 ifconfig eth0 up
 dhclient eth0
 ifconfig eth1 down
 ifconfig eth1 192.168.27.1 up
 route add default gw The_IP_Addres_of_Your_Router
 route add -net 192.168.27.0/24 dev eth1
 echo nameserver 8.8.8.8 >> /etc/resolv.conf
 echo nameserver 8.8.4.4 >> /etc/resolv.conf
 echo 1 >/proc/sys/net/ipv4/ip_forward
 iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
 iptables --append FORWARD --in-interface eth1 -j ACCEPT

Sul computer Windows, dovrai configurare un IP statico nell'intervallo 192.168.27.0/24, ad esempio 192.168.27.2, e impostare 192.168.27.1 come gateway predefinito.

Funziona su sistemi simili a Debian. Se hai un'altra distribuzione dovrai adattarla alle tue esigenze. Ad esempio, su Systemd-distos (Arch-Linux, Fedora, SuSE 19 ..), il primo comando è systemctl stop network-manager).

Il primo comando disabilita il gestore della rete, che ostacola la maggior parte delle operazioni personalizzate. I seguenti 3 comandi collegano pc1 al router e gli altri comandi 5-6 collegano pc1 a pc2. Quindi i comandi 7-8 impostano la tabella di routing, i comandi 9-10 impostano DNS, il comando 11 abilita l'inoltro Ipv4 nel kernel e i comandi 12-13 impostano le regole per iptables per agire come un forwarder NAT e accettare connessioni da PC2.

Questo può essere facilmente scritto.

Se si desidera consentire la comunicazione solo su determinate porte, sostituire

  iptables --append FORWARD --in-interface eth1 -j ACCEPT

con

 iptables --append FORWARD --in-interface eth1  -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 iptables --append FORWARD --in-interface eth1 -p Protocol_To_Be_Allowed --sport Port_To_Be_Forwarded -j ACCEPT
 iptables --append FORWARD --in-interface eth1 -j DROP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.