Changes between Initial Version and Version 1 of jazz/09-02-28


Ignore:
Timestamp:
Feb 28, 2009, 8:33:05 PM (16 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • jazz/09-02-28

    v1 v1  
     1= 2009-02-28 =
     2
     3 * [備忘] 怎麼用 SSH 穿透 NAT 把服務送出來
     4   * [目的] 在 NAT 背後的 PC 建立兩個連線,一個 SSH 一個 80 port 送到 SERVER 的 1000 port 跟 8123 port
     5   * 使用行為一: ADMIN 從 SERVER 的 22 port 連進去後,用 ssh -p 10000 就可以登入 PC 的 SSH
     6   * 使用行為二: USER 連線 SERVER 的 8123 port 會直接看到 PC 的 80 port
     7{{{
     8+----------------+      | |          +--------------------------------+
     9|     ssh client +------| |----------+ localhost:1000    0.0.0.0:22   +----- ADMIN
     10|                |      | |          |                                |
     11|     [ PC ]     |      | |          |         [ SERVER ]             |
     12|                |      | |          |                                |
     13|     apache(80) +------| |----------+------------------ 0.0.0.0:8123 +----- USER
     14+----------------+      | |          +--------------------------------+
     15}}}
     16  * [做法] 在 PC 上定期用 crontab 跑 remote_ssh.sh 這隻 Script
     17{{{
     18jazz@PC:~$ cat remote_ssh.sh
     19#!/bin/bash
     20kill -9 $(pidof ssh)
     21nohup ssh -f -N -R 10000:localhost:22 jazz@${SERVER_IP}
     22nohup ssh -f -N -R ${SERVER_IP}:8123:localhost:80 jazz@${SERVER_IP}
     23}}}
     24  * [設定] 要達成使用行為二的目的,必須設定 /etc/ssh/sshd_config,加入 GatewayPorts yes 的描述
     25{{{
     26# SSH Port Forwarding
     27GatewayPorts yes
     28}}}
     29}}}