vnc->iptables->intranet
作者:cschen33.tw@yahoo.com.tw
更新時間:2004/12/13
最後更新時間:2004/12/17

防火牆內遠端搖控的問題:
  1. 電腦的遠端搖控:
  2. 電腦的遠端搖控,是解決電腦問題最省時及省錢的方法之一,以前使用pcanywhere要錢,而現在早就有免費的搖控軟體最有名就是VNC,其衍生的另一個軟體,聽說比較好的是ultraVNC你可以上網下載其用法非常簡單,不在此多說
  3. 防火牆的問題
  4. 一般的區域網路都有防火牆,而內部的電腦都是使用私人IP而不是公共IP,因此我們無法直接使用vnc來搖控,那要如何使用呢?一般的想法是使用一個代理 伺服器,但一般的代理伺服器有port的限制
  5. 使用vpn來解決
  6. 這是目前最好的方式,危險性也最高,你可以參考文章:pptp vpn

以下我將簡介如何使用 iptables來實現搖控區域網路內的電腦
基本定義:
firewall的伺服器使用兩個網路卡一個對內(區域網路)一個對外(網際網路),一個私人IP(簡稱priv_IP),一個公共IP (public_IP)

 網際網路 <======>public_IP | firewall |priv_IP <=====>區域網路

如果你還不懂:
請看一下"目標"
就是將防火牆的某一個port轉到內部機器的某一個port
(原理就是如此簡單)

  1. firewall的設定:
  2.  
    1. 轉port設定(外向內要求):

    2. iptables -t nat -A PREROUTING -p tcp -m tcp --dport 20001 -j DNAT --to-destination 192.168.1.100:5900
       
    3. 偽裝設定(當然這個規則是完全開放的偽裝,你可以限制定多一點):
    4. (內向外回覆)
           iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.0/24 -j MASQUERADE
    如果為了安全的因素你可能是在總公司搖控分公司的電腦(出去的ip可能都經過偽裝)
    因此找出你偽裝的IP,例如是1.2.3.4,因此我們加入限制搖控端的IP, -s 1.2.3.4
    iptables -t nat -A PREROUTING -p tcp -m tcp -s 1.2.3.4 --dport 20001 -j DNAT --to-destination 192.168.1.100:5900

  3. 被控電腦的設定(192.168.1.100)
  4. 先確定192.168.1.100的gateway 是設111.222.333.444,可以在網路tcpip設定,或是命令列route add 0 mask 0 111.222.333.444
    並自tightvnc下載,及安裝其程式,要執行遙控時必須執行Tightvnc server,並設定好密碼,如果執行起來時它會監聽兩個port,5900及5800,5900是可以使用Tightvnc的client軟體來連線, 而5800是使用瀏覽器來執行連線
  5. 主控電腦的設定
  6. vnc有兩種搖控方式,一般是使用網頁瀏覽器的方式,另外一種是使用它所附的軟體如下圖:
    原始的VNC並沒有host:port這個功能,否則就要使用ultravnc來,不然就使用網頁的方式,但如果要使用網頁上述的5900要改成 5800,然後在瀏覽器輸入http://111.222.333.444:20001
    若使用本程式你可以將其存在桌面,以便將來的快速連線
ultravnc

  #為了安全的因素,建議使用 MSCR4Plugin.dsm的編碼,下載放在server端的安裝目錄下,然後在server設定頁的DSM plug ,產生key然後copy到client端的安裝目錄下,啟動view將useDSMPlugin打勾然後選取使用編碼

  1. 讓iptables開機時自動套用
  2. /etc/sysconfig/iptables中在適當的位置
  3. 安全性問題
  4. 如果你參考上述說明使用了-s ip 來限制連線的來源,基本上還算安全,我使用nmap也掃不到,但是家賊難防,如果是內部的IP就可以自由的連線因此除非有用時才執行utlatvnc server

以上就是在學了iptables所想到的應用之一,我想以port:20000以後每一個台機器給一個port就算你公司有100台,給到20100也是 很夠,況且你又不是同時搖控100台電腦,最多只可能是幾台而已,而被控端如果關閉了VNC也就不能被搖控
#由於目前個人電腦的防毒程式,或xp作業系統都有防火牆功能
因此你必須將連線的ip,或程式排除或准予連線否則仍無法搖控