最近開始換裝 Fedora 18 系統,就用它內部新的「防火牆」設定功能,試著自己建立「IP 分享器」。除了多一張網路卡外,其它軟體都是已收錄在 Fedora 18 的套件資料庫,所以價格應該是滿有競爭力的。步驟如下:
- 安裝 Fedora 18 系統:相較於之前的版本,整個設定簡單多了。
- 設定「防火牆」:幾個「圖形化」的操作設定而己,應該沒什麼困難。
- 設定內、外網卡:內部網卡有些不同,外部網卡和平常設定的差不多。
- 安裝、設定 DHCP:這個有點小複雜,有範本可修改,也應該不難。
一、安裝 Fedora 18 系統
如果己經安裝好 Fedora 18,就跳過這個步驟。若需要安裝請參考 “適用 Fedora 18 的「可選版本 USB 安裝隨身碟」” 或製做光碟片安裝,這裏就不重覆。二、設定「防火牆」
為節省篇幅,開啟「防火牆」設定程式,一直到權限認證通過這段操作,請參考前文 “Fedora 18 的 FirewallD 設定(一):開「通訊埠」”。這次的設定和前文不同,有兩個地方:『internal 區』和『external 區』,將分別用於內、外兩張網路卡。本次設定步驟中,幾個重點先說明一下:
Current View | 顯示目前「防火牆」編輯中的設定之時效長短。 『Runtime Configuration』為『暫時性』設定, 『Persistent Configuration』為『永久性』設定。 |
external | 對應「防火牆」外網路的『external(外部)區』。設定『分享網路』時,連接外部的網路卡要設定屬於『external 區』。此『區』的預設設定:『Services(服務)』開啟的「通訊埠」只有 ssh (22/tcp),此外『偽裝』欄的『Masquerade zone』也有勾選,其它皆為空白。 |
Masquerading (偽裝) | 是針對『網路位址轉換(NAT)』所設計,其它『區』的網路經此「閘道(gateway)」分享網路。 只有『external 區』的『Masquerade zone』要勾選,其它『區』的設定不需勾選此項。 |
internal | 對應「防火牆」內網路的『internal(內部)區』。『internal 區』預設開啟的「通訊埠」有 dhcpv6-client (546/udp), ipp-client (631/udp), mdns (5353/udp), samba-client (137/udp, 138/udp), ssh (22/tcp) 六個,其它皆為空白。 |
設定『external 區』
首先來看『external 區』的設定通常需要修改的設定只有『服務(Services)』這欄,若有要修改記得將『Current View』先調到『Persistent Configuration』,修改才會儲存下來,下次開機才會立即生效。
設定『internal 區』
因為待會需啟用「DHCP 服務(service)』,先開啟它接收『需求』所用的「通訊埠(port)」67/udp此外,『Services(服務)』那一欄中,不使用的「通訊埠」記得要關閉。
三、設定內、外網路卡
在整個設定中,較容易錯誤的地方就是:兩張網路卡與「防火牆」間的配對。有個小技巧:把網路線拔開,查看一下右上角的網路狀態;確定『網路線』與『網路卡設定』的對應後,將『網路卡設定』的名稱改為較容易辨認的名稱,如:WAN 和 LAN、Inside 和 Outside 等。 拔除『內部網路卡』連線
以下是筆者將『內部網路卡』(即新加入的網路卡)的連線拔除後的結果,會有一個『纜線已拔除』的訊息,這時再點選『網路設定值』,開始設定網路卡。 設定『連外網路卡』
在左欄有兩個裝置標示為『有線』,試著按它們會出現較詳細的狀態,上圖是「網路已連線」那張網路卡,筆者將其設定為『連外網路卡』,點【選項】按鈕進入設定視窗。首先跳出的是『有線網路』欄,維持原來的設定。上方的『連線名稱』改為 WAN 方便之後的辨識用。
在『一般』欄,修改『防火牆地帶』為『external』。
在『IPv4 設定』欄,設定就是原來的網路設定,此例中是由 DHCP 指派 IP 位址。若是上班單位有給定固定 IP ,則依規定填入。
最後,在『IPv6 設定』欄,通常不使用 IPv6 所以將『方法』設為『忽略』,避免它嘗試索取位址,浪費寶貴的 CPU 資源。
至於『802.1x 防護』欄,預設是不啟用,所以不必理會。按【儲存】鈕,將剛才的設定儲存,會立即生效。 設定『內部網路卡』
因內部網路卡需要提供 IP 位址分派及轉換的工作,自己的 IP 位址需要固定才行。所以,內部網路卡的設定上,稍微複雜些,請讀者設定時要有耐心,才不會出錯。在左欄點選另一個標示為『有線』的裝置,出現較詳細的狀態如下,
為節省篇幅,將各欄的修改與『連外網路卡』相似部分列表說明如下:
欄位 | 修改 | 用途 |
---|---|---|
Current View | Runtime Configuration →Persistent Configuration | 所修改的設定會被儲存,下次開機時自動生效 |
連線名稱 | em1 或 p?p1 → LAN | 方便辨認內、外網卡 |
一般 | 防火牆地帶: 預設 → internal | 綁定防火牆的設定 |
IPv4 設定 | 方法:自動 → 手動 地址:按【加入】加入設定 地址 =192.168.51.8 網路遮罩=255.255.255.0 通訊閘 =192.168.51.8 DNS 伺服器:192.168.10.10 | 對內網路卡的設定 註:DNS 伺服器的設定須與『連外網路卡』的設定相同,若是『連外網路卡』以 DHCP 自動取得 IP 地址,則須與自動設定值相同。 |
IPv6 設定 | 方法:自動 → 忽略 | 減少 CPU 浪費 |
點選右下角的【路由】按鈕,跳出另一個設定視窗,
勾選『只在使用這個………』這項,使本機的網路資料不會試圖將『非內網的資料』送經此張網路卡。最後,要將『網路封包轉送』的功能開啟,可立即生效的命令有兩個,
[root@Core-i7 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward以上兩個命令任選一個。
[root@Core-i7 ~]# sysctl -w net.ipv4.ip_forward=1
要永久有效,就要將設定敘述加入開機程序中,其命令為
[root@Core-i7 ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
四、安裝、設定 DHCP
要讓電腦扮演『分享網路』的角色,除了將內部網路的網路位址轉換成外部的網路位址(NAT)以外,還要分配內部網路位址給內網的電腦(DHCP)。需要安裝、設定 DHCP 伺服器,[root@Core-i7 ~]# yum install dhcp上例第一個命令是安裝,第二個命令是用圖型化介面的編輯器(gedit 文字編輯器)編輯設定檔,以上述說明為例,其設定檔內容的參考例如下:
. . . . . .
[root@Core-i7 ~]# gedit /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.第一段是(未修改前的)範例來源標示宣告。第二段用來告訴『DHCP 服務』本機連接的網路架構(指有連接,但不回應派送 IP 的需求)。第三段是設定分派的網路位址的範圍。最後一段則是設定給固定網路位址之用。一般讀者的設定,只要修改 192.129.10.0 及 192.129.10.10 這兩個『連外網路卡』的相關設定即可。
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
subnet 192.168.10.0 netmask 255.255.255.0 {
}
# This declaration allows BOOTP clients to get dynamic
# addresses.
subnet 192.168.51.0 netmask 255.255.255.0 {
range 192.168.51.100 192.168.51.200;
option domain-name-servers 192.168.10.10;
#option domain-name "internal.example.org";
option routers 192.168.51.8;
option broadcast-address 192.168.51.255;
default-lease-time 600;
max-lease-time 7200;
}
# 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.
host SiB_testfantasia {
hardware ethernet 08:00:27:50:17:08;
fixed-address 192.168.51.88;
}
最後要啟動 DHCP 伺服器測試設定,
[root@Core-i7 ~]# systemctl start dhcpd.service第一個命令是啟動 DHCP 伺服器,第二個命令是查詢狀態,如果有錯誤訊息,須回去修改 /etc/dhcp/dhcpd.conf 這個設定檔。接著再以第三個命令重新啟動 DHCP 伺服器。
[root@Core-i7 ~]# systemctl status dhcpd.service
[root@Core-i7 ~]# systemctl restart dhcpd.service
確定設定都正確,就可以命令 DHCP 伺服器在下次開機自動啟動,命令為
[root@Core-i7 ~]# systemctl enable dhcpd.service
已測試版本:
- Fedora: 18
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)