Linux防健忘日誌No.63-Ubuntu 12.04 DHCP Server 固定IP位置+Port Forwarding

繼續第62號日誌還沒完成的工作(62號位置:http://thkaw.pixnet.net/blog/post/89372793)

要讓一台 Linux Server 取代家用的分享器還需要做很多事情

 

今天抓P2P時覺得特別慢,亮黃燈,很明顯Port沒有指定到內網的機器

雖然透過NAT還是有速度,但速度不是很OK,所以就G了一下

 

這個功能在家用分享器上面的圖形介面設定通常叫做“Vitrual Server”或中文名為“虛擬伺服器”

 

不過專業一點的術語叫他Port Forwarding顧名思義就是把Port轉送了

這個功能是交由 iptables 來做,可以直接下也可以用小工具”redir”簡單做功能,但有點累贅就是

 

我這裡就複製了一行如果你要Port Forwarding要用到的iptables指令下來

 

 

iptables -t nat -A PREROUTING -p tcp -i ppp0 –dport 8123 -j DNAT –to-destination 192.168.1.31:8123 

 

其中動三個地方,第一個是port也就是8123

第二個是界面,你要轉送的來源,我這裡是ppp0

接著第三個是轉送去那兒,是到內網的192.168.1.31第8123 port

 

這行指令看你是要放在/etc/rc.local或者是上一篇另外寫一個腳本好管理都可,看你的數量多不多

 

不過談到這裡就會發現,如果你內網內的裝置並沒有一個固定的ip位置,那怎麼能確保每次forwarding到的電腦是正確的呢?

這時候也要談到家用分享器裡面也有個功能叫做DHCP位置保留,或者用IP reserve之類的字眼出現

 

 

他會依照你設定的mac address去分派你預先固定好的ip,當然這個固定ip的方法還可以透過client端手動指定ip,但這樣很白癡而且很不方便

所以這些雜事還是設定在DHCP Server內交由Server來麻煩

 

此時看回到/etc/dhcp/dhcpd.conf這個檔案

 

#========================================

# Fixed IP addresses can also be specified for hosts. These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP. Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
# hardware ethernet 08:00:07:26:c0:a5;
# fixed-address fantasia.fugue.com;
#}

host Nathaniel-W520_Wire {
hardware ethernet 34:AB:CD:EF:01:12;
fixed-address 192.168.1.31;
}

host Nathaniel-W520_WLan {
hardware ethernet 32:88:11:12:21:12;
fixed-address 192.168.1.51;
}

# You can declare a class of clients and then do address allocation
# based on that. The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

 

#========================================

其中Nathaniel-W520_Wire是主機名稱,你可以改成自己想要的,以供容易辨識

hardware ethernet 34:AB:CD:EF:01:12;這段就是塞mac address

因為通常筆電上有兩個網路裝置,一個是LAN另外一個是WLAN,所以要新增兩次

 

 

當然,放置的位置自己決定,但養成好習慣放在相關範例說明底下會是比較好維護的

 

儲存後重新啟動dhcp服務,

sudo /etc/init.d/isc-dhcp-server restart

 

接著看看對應設備有沒有自動取得指定的ip

 

 

thx for:

http://imkuso.com/linux-debian-dhcp/

http://linadonis.pixnet.net/blog/post/32506940-ubuntu10-iptables-%E9%98%B2%E7%81%AB%E7%89%86%2Bnat%2Bport-forward

http://linadonis.pixnet.net/blog/post/32491980-ubuntu10-dhcp-server-%E5%AE%89%E8%A3%9D%E8%88%87%E8%A8%AD%E5%AE%9A

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料