範例:SSH_Client_A 無法直接存取 Web_Server,故透過 SSH_Server_B 存取 Web_Server。
使用 VM 準備 3 台電腦,每台電腦的角色如下:
SSH_Client_A(192.168.18.131):存取網頁伺服器(Web_Server)主頁
SSH_Server_B(192.168.18.129):與 SSH_Client_A 建立 SSH Tunnel
Web_Server(192.168.18.128):網頁伺服器
Web_Server(192.168.18.128):
# vim /var/www/html/index.html // 記得防火牆要開
<h1> SSH Tunnel </h1>
SSH_Client_A(192.168.18.131):輸入建立 SSH Tunnel 指令
# ssh -L 65534:192.168.18.128:80 lee@192.168.18.129
在 SSH_Client_A 測試:
# elinks http://localhost:65534
參數說明:
-L:本地主機(SSH_Client_A)開啟通訊埠,本範例為 65534
網頁伺服器:192.168.18.128:80
SSH_Server_B:192.168.18.129
elinks 是文字介面的瀏覽器(yum instll -y elinks)
SSH_Server_B 連線狀態
# netstat -anp | grep --color sshd
tcp 0 0 192.168.18.129:22 192.168.18.131:60861 ESTABLISHED 3014/sshd
Web_Server 連線狀態
請注意來源 IP,雖然是 SSH_Client_A 存取 Web Server,但來源 IP 卻是 SSH_Server_B 的 IP。
# tail -f /var/log/httpd/access_log
192.168.18.129 - - [25/Sep/2012:05:06:40 -0700] "GET / HTTP/1.1" 200 22 "-" "ELinks/0.12pre5 (textmode; Linux; 80x24-2)"
沒有留言:
張貼留言