怎麼讓外網朋友訪問自己本機上的web
我們知道,internet上所有聯網的主機,都需要一個唯一的IP地址,現在用的IP地址都屬於IPv4,IPv4地址分幾類,這裡不詳細說了,我們只要知道由於IPv4面臨可用IP地址枯竭,所以我們現在局域網裡常用的192.168.X.X地址都屬於私網地址就可以了。
作為私網地址的192.168.X.X是不能直接與公網地址直接通訊的,我們常用的路由器的功能之一就是將私網地址轉換成能與其他internet上的主機通訊的公網地址,當然前提是路由器上有公網地址。路由器上的WAN口就是廣域網口的意思,就是連線公網用的,而LAN口就是內部區域網用的。
家用路由器的工作原理大致是這樣的:通過WAN口來PPPoE撥號來獲取公網IP地址,LAN裡的PC則通過DHCP從路由器上獲取LAN私網地址或者LAN裡的PC手工指定192.168.X.X的私網地址,在LAN裡的PC有訪問公網的請求時,路由器通過NAT地址轉換等方式,將LAN裡PC的訪問請求,變成自身的公網IP地址的訪問請求去訪問internet上的其他主機,在對方返回請求的資料後,再將響應的資料返回給LAN裡的PC,LAN裡的PC獲得需要的資料,完成一次訪問。
上面就是一次基本完整的通訊過程,但細心的人會發現,這次訪問請求是由路由器後面的LAN裡的PC發起的,internet上的其他主機如果要訪問這個路由器後的LAN裡的PC怎麼辦呢?要知道這個LAN裡的PC是沒有公網IP地址的啊,只有這個路由器有公網IP哦。
所以,大部分路由器上都有這樣一個功能:埠對映或埠轉發。在TP-LINK的家用路由器上,這個功能叫"轉發規則",這個功能就是為了完成internet上的其他主機訪問路由器後的LAN裡的PC用的。
要在路由器上完成埠對映或"轉發規則",該怎麼做呢?
首先,需要知道要完成什麼服務,完成這個服務需要的TCP或UDP埠,如:WEB服務預設需要80埠,FTP服務預設需要20和21埠。
其次,需要知道LAN裡的PC的私網IP地址,假如LAN裡有兩臺PC,A和B,A的IP地址是192.168.0.2,B的IP地址是192.168.0.3,A機想提供WEB服務並已安裝相應的WEB服務程式如IIS,APACHE,B機想提供FTP服務並已安裝相應的服務程式如IIS、Serv-u、G6FTP等。如果不在路由器上做相應的設定的話,這些服務只能向LAN裡的其他機器提供,internet上的其他主機是無法訪問的。
第三,在路由器上設定埠對映(TP-LINK路由器上是"轉發規則"),新增一個80服務埠,將IP地址選擇192.168.0.2(就是上例的A機),因WEB服務用的是TCP協議,在協議那部分選擇"TCP",再將"啟用"勾上;再新增一個20埠和21埠,IP地址則為192.168.0.3(上例中的B機),協議也都選TCP,也要注意將"啟用"勾上,注意,這樣設定的FTP服務只能用PORT模式連線,要用PASV模式還需要做其他設定。
儲存後大概路由器需要重啟。
經過以上設定後,Internet上的其他主機就能訪問我們這個路由器後的局域網裡的機器了,本例中只設置了WEB服務與FTP服務,要提供其他服務,只要做相應的設定,也是可以完成的。