close

fggg fdggg dfg sddsf sdfsdf 

轉錄 : 用Fedora Core 5來架設NAT Server轉錄 : 用Fedora Core 5來架設NAT Server筆者:王全世(任職高雄市東光國小) 2006.4.4 初成 0.緣起 此學期學校要在各班級教室裝設網路電話,因本校之IP早已不敷使用,故規則另一個將虛擬IP網段供其使用,但缺少一部NAT Server。還好,學校機房還有一部閒置的電腦,就拿來架設NAT之用。 1.準備工作1.1 NAT之概念(NAT: Network Address Translation) 一部電腦要連上Internet,一定需要一個IP位址(即真實IP,或稱為public IP),那如果IP位址不夠(或是說ISP所給的IP位址數量少於要連上Internet的電腦數量),那該怎麼辦呢?這時,你就需要一台NAT Server。  如果這個情況是發生在家裡,因為家裡的電腦數比較少,只要買一個「IP分享器」就可以解決,此「IP分享器」就是一台小型的NAT Server。那如果IP不夠的情況是發生在學校或是機構,電腦有一定的數量,那麼你就需要架設一台NAT Server,或是用具有NAT功能的router來做也是可以的。  那NAT Server到底做了那些事呢?1.是「封包轉送」:將虛擬IP(或稱為假IP、內部IP、private IP)電腦的封包轉送到Internet上。2.是「封包轉換」:將虛擬IP電腦傳出的封包之來源位址轉換成真實IP;再將傳回的封包目的位址轉換成原來的虛擬IP。 1.2 NAT相關網路之設定  要當NAT Server的電腦要插兩片網路卡,假設對外(連到Internet)的網卡是eth0(裝置代號),其IP的設定要用真實IP;對內的網卡(連到內部)是eth1,其IP的設定則用虛擬IP,在此我將它設成192.168.1.254(此為class c內部用IP之範圍,你也可以設成192.168.x.254,x=0~255)。  內部電腦的IP,第一台設成192.168.1.1,第二台設成192.168.1.2,以此類推,子網路遮罩(subnet mask 或 network mask)全部設成255.255.255.0(此為class c的遮罩),通訊閘(default gateway)全部設成192.168.1.254(即NAT Server的對內網卡)。  1.3 此電腦的設備規格(組裝機) CPU: Pentium 4 -2.8G (533MHz外頻,無支援Hyper-Threading), MB: Asus P4B533-M (chipset: intel 845E/ich4 , intel 82562ET LAN PHY on board) RAM: 512MB DDR-266(ECC PC2100) *2 共1GB HD: 36GB SCSI HD VGA: ASUS V 3800M (32MB)(NVIDIA TNT 2 M 64) SCSI: ASUS LSI SCSI controller (1010R 64bit 2ch. ultra 160 SCSI) NC: 內建intel PRO100VE(82562ET) 及 SN5100TX(VIA VT 86C 100A 晶片) (安裝後intel→eth0;SN→eth1) 1.4 此次eth0設定為public IP(真實IP),eth1設定為private IP(虛擬IP),使用192.168.11.0區段 2.安裝Fedora Core 5 (以下簡稱FC5) 2.1 下載Fedora Core 5之dvd iso檔,燒成光碟片  ftp://ftp.nsysu.edu.tw/Linux/Fedora/core/5/i386/iso/FC-5-i386-DVD.iso2.1.1 [或是下載FC 5之cd iso檔(有5個),燒成光碟片] ftp://ftp.nsysu.edu.tw/Linux/Fedora/core/5/i386/iso/FC-5-i386-disc1.iso ftp://ftp.nsysu.edu.tw/Linux/Fedora/core/5/i386/iso/FC-5-i386-disc2.iso ftp://ftp.nsysu.edu.tw/Linux/Fedora/core/5/i386/iso/FC-5-i386-disc3.iso ftp://ftp.nsysu.edu.tw/Linux/Fedora/core/5/i386/iso/FC-5-i386-disc4.iso ftp://ftp.nsysu.edu.tw/Linux/Fedora/core/5/i386/iso/FC-5-i386-disc5.iso 2.2 安裝Fedora Core 5 用燒好之光碟片開機(此次用DVD),然後依照指示安裝  按 ENTER,使用圖形介面安裝  選 Skip 跳過測試光碟片(節省時間) 出現 Mouse Not Detected,按ok,選擇你的滑鼠型式(若偵測得到,就不會出現此畫面) 出現Fedora畫面,按[Next] (若無法偵測到螢幕type,則會跳到文字模式text mode安裝) 選取Chinese(Traditional)(繁體中文),按[Next] 選取美式英文(US),按[Next] 出現分割硬碟(Partitioning Type),選擇[Remove all partitions on selected drives and create default layout],並勾選[檢視並修改分割區],按[是] 出現分割區[Partitioning],可由系統自行分割,或自行分割如下: 裝置(device) Mount Point Type Size(MB) Start End ------------------------------------------------------------------------------ /dev/sda /dev/sda/sda1 /boot ext3 102 1 13 /dev/sda/sda2 swap 2047 14 274 /dev/sda/sda3 / ext3 32852 275 4462 按[下一步],出現開機管理程式(GRUB)設定,按[下一步] 出現網路裝置設定,按[編輯],取消使用動態IP,設定IP及網路遮罩(eth0設為public IP;eth1設為private IP),按[確定],設定主機名稱,設定閘道器、DNS,按[下一步](若抓不到網卡,此畫面不會出現) 出現選擇時區,按[下一步] 設定Root 密碼,按[下一步] 出現選擇套件軟體,選擇[立即自訂],按[下一步] 出現選擇套件,[程式開發]加選[開發工具],[伺服器]加選[伺服器設定工具][網路伺服器],[Base System]加選[系統工具](可依需要自行決定),按[下一步] 出現[檢查安裝套件的相依性],按[下一步] 開始安裝系統與套件(包括格式化,時間大約需要22分鐘,依主機性能與所選套件而定) 出現「恭喜您,安裝已完成」,取出安裝光碟片,按[重新開機] 出現[歡迎],按[下一頁] 出現[授權同意書],選擇「Yes」,按[下一頁] 出現[防火牆],預設[Enabled],勾選信件的服務port(自行決定),按[下一頁] 出現[SELinux],預設[Enforcing],按[下一頁] 出現[日期與時間],設定後,按[下一頁] 出現[顯示器],設定你的螢幕後,按[下一頁] 出現[系統使用者],設定後,按[下一頁] 出現音效卡,按[完成] 出現登入畫面 2.3 安裝驅動程式 2.3.0 說明 此次FC5可以偵測全部的硬體設備,包括SCSI卡與硬碟(視為SCSI硬碟),與兩張網卡。故此次不需額外安裝驅動程式。(但曾發生無法偵測到螢幕型號,而無法使用圖形模式安裝,安裝後也無法進入圖形模式。後來換了一台螢幕才解決) FC5的kernel 為2.6.15-1.2054_FC5。 2.4 安全性調整與設定2.4.1 解決亂碼問題(用終端機文字模式,或用ssh登入時,會看到亂碼)(RedHat9不會有此問題) cd /etc/sysconfig cp -p i18n i18n.default 開啟 i18n (可用vi) 找到 LANG="zh_TW.UTF-8" 改成 LANG="zh_TW.big5" 2.4.2 設定防火牆(建議設定高安全性,即全部擋住對內連線,然後有提供服務的port再開啟)(Fedora3啟動防火牆即是高安全性,不像RedHat 9有高、中、低可選擇) cd /etc/sysconfig cp -p iptables iptables.default (先備份) 開啟 iptables 加入允許的port與範圍,如開啟ssh服務(tcp,port22)與服務範圍(163.32.170) 在*filter的區段中加入 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 163.32.170.0/24 --dport 22 -j ACCEPT service iptables restart (重新啟動) 2.4.3 ssh禁止使用root帳號進入 cd /etc/ssh cp -p sshd_config sshd_config.default (先備份) 開啟 sshd_config 找到 #PermitRootLogin yes 在下面增加 PermitRootLogin no 若要限制只有某些帳號能用ssh進入,請增加一行 AllowUsers xx1 xx2 service sshd restart (重新啟動)(若無法使用service,可用/etc/init.d/sshd restart) 2.4.4 關閉Ctrl+Alt+Del之功能(以避免誤按導致重新開機) cd /etc cp -p inittab inittab.default (先備份) 開啟 inittab 找到 ca::ctrlaltdel:/sbin/shutdown -t3 -r now 改成 #ca::ctrlaltdel:/sbin/shutdown -t3 -r now /sbin/init q (使其生效) 2.4.5 設定開機後讓Num Lock自動開啟 (好像沒作用) cd /etc/rc.d 開啟 rc.sysinit 在最後增加下面三列  for tty in /dev/tty[1-9]*;do setleds -D +num < $tty done 3. NAT Server之設定3.1 打開route功能(將封包轉送功能打開) cd /etc cp -p sysctl.conf sysctl.conf.default 打開 sysctl.conf (可用vi) 找到 net.ipv4.ip_forward=0 改成 net.ipv4.ip_forward=1 service network restart (或是/etc/init.d/network restart) 3.2 打開NAT功能(做封包轉換) iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o eth0 -j MASQUERADE (或是用 iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o eth0 -j SNAT --to xx.xx.xx.xx [eth0之真實ip] ) 用虛擬ip的電腦測試一下,看網路是否會通。(如果不會通,可能是防火牆擋住了,請看3.4) 3.3 將暫停之設定寫入iptables(若不寫入,重開機之後NAT之設定會消失) iptabes-save >/etc/sysconfig/iptables 此指令會在iptables檔中,加入下列資料--------# Generated by iptables-save v 1.3.5 on Tue Apr 4 16:09:50 2006*nat:PREROUTING ACCEPT [900:84460]:POSTROUTING ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A POSTROUTING -s 192.168.11.0/255.255.255.0 -o eth0 -j MASQUERADECOMMIT# Completed on Tue Apr 4 16:09:50 2006# Generated by iptables-save v 1.3.5 on Tue Apr 4 16:09:50 2006-------- 3.4 設定防火牆(打開private IP) cd /etc/sysconfig 開啟 iptables 在*filter的區段中加入 -A RH-Firewall-1-INPUT -s 192.168.11.0/24 -j ACCEPT service iptables restart 4.會用到之指令 iptables-save 查詢目前iptables之狀態 (要查詢永久iptables之狀態,要看 /etc/sysconfig/iptables) iptables-save > iptables.bak 將目前iptables之狀態備份成iptables.bak(檔名可修改) iptables-restore < iptables.bak 將iptables.bak(備份檔) 回存到iptables目前之狀態  5.阻擋某電腦做封包轉送5.1 阻擋某電腦,使用ip iptables -A FORWARD -s xx.xx.xx.xx -j DROP5.2 阻擋某電腦,使用MAC iptables -A FORWARD -m mac xx.xx.xx.xx.xx.xx -j DROP a.備註a.1 虛擬IP範圍 class a: 10.x.x.x - 10.x.x.x mask: 255.0.0.0 (x=0~255) class b: 172.16.x.x - 172.31.x.x mask: 255.240.0.0 class c: 192.168.0.x - 192.168.255.x mask: 255.255.255.0 .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO!

 

yahoo facebook google msn


全站熱搜
創作者介紹
創作者 pyenfx 的頭像
pyenfx

古朴的颜色

pyenfx 發表在 痞客邦 留言(0) 人氣()