GNU/Linux >> Znalost Linux >  >> Linux

Jak přesměrovat port z jednoho stroje na druhý?

Ano, toto se nazývá GatewayPorts v SSH. Výňatek z ssh_config(5) :

GatewayPorts
        Specifies whether remote hosts are allowed to connect to local
        forwarded ports.  By default, ssh(1) binds local port forwardings
        to the loopback address.  This prevents other remote hosts from
        connecting to forwarded ports.  GatewayPorts can be used to spec‐
        ify that ssh should bind local port forwardings to the wildcard
        address, thus allowing remote hosts to connect to forwarded
        ports.  The argument must be “yes” or “no”.  The default is “no”.

A můžete použít localhost místo M při přeposílání, protože přesměrováváte na stejný počítač, na který posíláte SSH – pokud správně rozumím vaší otázce.

Takže příkaz bude tento:

ssh -L 2222:localhost:8888 -N -o GatewayPorts=yes hostname-of-M

a bude vypadat takto v netstat -nltp :

tcp        0      0    0.0.0.0:2222   0.0.0.0:*  LISTEN  5113/ssh

Nyní každý, kdo přistupuje k tomuto počítači na portu 2222 TCP, bude skutečně mluvit s localhost:8888, jak je vidět na počítači M. Všimněte si, že to není totéž jako prosté přesměrování na port 8888 M.


Existuje i jiný způsob. Pomocí iptables můžete nastavit přesměrování portů z S:2222 na W:8888. Jediný příkaz:

iptables -t nat -A PREROUTING -p tcp --dport 2222 \
         -j DNAT --to-destination 1.2.3.4:8888

kde 1.2.3.4 je IP adresa M. Říká se tomu NAT (Network Address Translation).


Další alternativy:netcat (tradiční) nebo socat

Na serveru (S):

socat tcp-listen:2222,reuseaddr,fork tcp:M:8888

nebo

nc -l -p 2222 -c 'nc M 8888'

Podrobnosti viz:Jednoduchý způsob vytvoření tunelu z jednoho místního portu na druhý?


Linux
  1. Jak kopírovat nebo klonovat oprávnění z jednoho souboru do druhého v systému Linux

  2. Jak přesunout všechny soubory (včetně skrytých) z jednoho adresáře do druhého?

  3. Jak zkopírovat nastavení z jednoho počítače do druhého?

  1. CentOS / RHEL :Jak přesunout skupinu svazků z jednoho systému do druhého

  2. Jak najít slova z jednoho souboru v jiném souboru?

  3. Jak zkopírovat commity z jednoho repozitáře Git do druhého?

  1. Jak zkopírovat tabulku z jedné databáze mysql do jiné databáze mysql

  2. Jak zkopírovat 10 posledních souborů z jednoho adresáře do druhého?

  3. Jak provést přesměrování portu z jedné IP na druhou IP ve stejné síti?