private ip 與 nat
DESCRIPTION
Private IP 與 NAT. 國 立 中 央 大 學 電子計算機中心 劉 劍 青 ( Jiann-Ching Liu ) Email: [email protected] URL: http://www.cc.ncu.edu.tw/~center5/. 內 容. 1.Private IP Address 的使用 2.Private IP Address 連接方式 3.Network Address Translation 4.Port Redirection - PowerPoint PPT PresentationTRANSCRIPT
1
Computer Center of NCU Jiann-Ching Liu
Private IP 與 NAT
國 立 中 央 大 學電子計算機中心
劉 劍 青 ( Jiann-Ching Liu )Email: [email protected] URL: http://www.cc.ncu.edu.tw/~center5/
2
Computer Center of NCU Jiann-Ching Liu
1.Private IP Address 的使用2.Private IP Address 連接方式3.Network Address Translation4.Port Redirection5.Transparent Proxy6.FreeBSD 系統的設定方式7.Linux 系統的設定方式8.NAT Server 光碟使用簡介9.參考資料
內 容
3
Computer Center of NCU Jiann-Ching Liu
Private IP Address
Private IP
10.0.0.0 10.255.255.255
172.16.0.0 172.31.255.255
192.168.0.0 192.168.255.255
Internet
?
RFC 1597 Sectin 3: Private Address Space
4
Computer Center of NCU Jiann-Ching Liu
Private IP Packet 傳送的問題
InternetLocalNet
10.1.2.3 140.115.17.125
IP Packet 可透過 IP Router 傳送出去
InternetLocalNet
10.1.2.3 140.115.17.125
外部的 IP Packet 無法透過傳統 IP Router 送回
?
5
Computer Center of NCU Jiann-Ching Liu
Proxy Server
InternetLocalNet
10.1.2.3 140.115.17.125
Proxy Server 可解決部份問題
Proxy Server
1.Local net 與 Internet 以 Proxy Server 連接2.Local net 可透過 Proxy Server 使用 Internet 資源
使用 Proxy Server 的問題
1.使用的 Clinet 程式需提供透 Proxy 的存取方式2.不能以 Proxy 沒有支援的方式與 Internet 相連,如 telnet, NFS 等3.內部不能有 Server 開放給外部使用,除非外部設定正確的 Proxy Server
6
Computer Center of NCU Jiann-Ching Liu
NAT (或 IP Masquerade)
• NAT 是 Network Address Translation 的縮寫• NAT 伺服器可能是 PC 工作站、具 NAT 功能的 Router 或 Dedicate NAT Se
rver• NAT 的動作
• NAT 可解決大部份 Private IP Transparently 連接 Internet 的問題
10.0.0.1 140.115.17.12510.0.0.254 140.115.1.254
140.115.17.12523
10.0.0.12745
140.115.17.12523
140.115.1.2543548
140.115.1.2543548
140.115.1.12523
10.0.0.12745
140.115.17.12523
7
Computer Center of NCU Jiann-Ching Liu
NAT 的分類
NAT10.1.0.0/32 140.115.1.0/24
m n
Dynamic NAT
Static NAT
Masquerading
m,n > 0 m > n
m,n > 0 m = n
m > 0 n = 1
8
Computer Center of NCU Jiann-Ching Liu
NAT (Masquerading) 的工作原理NAT
10.1.1.254
140.115.1.1
NAT Tablesrc 10.1.1.3:1257dst 140.115.17.108:23
src 10.1.1.5:1257dst 163.28.1.22:80
src 140.115.1.1:63452dst 163.28.1.22:80
src 140.115.1.1:63451dst 140.115.17.108:23
10.1.1.3 125710.1.1.5 4192
....
....
6345163452........
Internal IP / Port local NAT-Port
NAT (Masquerading) Table
9
Computer Center of NCU Jiann-Ching Liu
Port Redirection• NAT Server 的 Port Redirection 功能可讓外部連接到特定 Port Number 的 Packet Redirection 到特定主機
• Port Redirection 使內部網路的 Service 可給外部使用
10.0.0.1 140.115.17.12510.0.0.254 140.115.1.254
140.115.17.1252853
10.0.0.180
140.115.17.1253146
140.115.1.25480
140.115.1.25480
140.115.1.1253146
10.0.0.180
140.115.17.1252853
內部的 WWW 伺服器
Redirect Port 80 到 10.0.0.1
10
Computer Center of NCU Jiann-Ching Liu
Transparent Proxy• 系統對 Transparent Proxy 的功能的支援是將原本連線至遠端的封包重導至本機的特定 Service Port
• 將此功能應用到 WWW 上,可強迫使用者使用 Proxy Server 而不需額外的 Proxy Server 的設定
Request
RedirectRequest Request if miss
Reply
Reply Reply
ClientProxyServer Server
TransparentProxy Redirector
11
Computer Center of NCU Jiann-Ching Liu
FreeBSD 的對 NAT 的支援
1. IPNAT
Dynamic NAT ( 多對多 )
2. Network Address Translation DaemonMasquerading ( 多對一 )
12
Computer Center of NCU Jiann-Ching Liu
FreeBSD 的 IPNAT設定方式 :1. 重做 FreeBSD 核心並加入下列選項
options IPFILTER2. 打開 gateway 的功能
可在 /etc/rc.conf 加入 gateway_enable=YES或使用系統命令 sysctl -w net.inet.ip.forwarding=1
3. ipnat 的設定檔 (用文書編輯程式編寫 ) 放在 /etc/ipnat.conf 參考內容 map ed1 10.0.0.0/8 -> 140.115.11.252/30 portmap tcp/udp 1025:65000 map ed1 10.0.0.0/8 -> 140.115.11.252/304. 執行 ipnat -F ( delete all active entries in the current NAT table ) ipnat -C ( delete all entries in the current NAT listing ) ipnat -f /etc/ipnat.conf5. 在 Ethernet 上要對 nat 的範圍做 proxyarp, 如 arp -s 140.115.11.253 00:00:1c:30:1e:29 pub
13
Computer Center of NCU Jiann-Ching Liu
FreeBSD 的 NATDNATD: Network Address Translation Daemon
設定方式 :1. 使用 FreeBSD 2.2 以上的版本2. 重做 FreeBSD 核心並加入下列選項
options IPFIREWALLoptions IPDIVERT
3. 打開 gateway 的功能可在 /etc/rc.conf 加入 gateway_enable=YES或使用系統命令 sysctl -w net.inet.ip.forwarding=1
4. 設定好兩張網路卡 (或兩個網路介面 )5. 在 /etc/services 加入
natd 8668/divert # Network Address Translation socket6. 調整 /etc/rc.firwall 使 Firewall 的設定為
/sbin/ipfw -f flush/sbin/ipfw add divert natd all from any to any via de0/sbin/ipfw add pass all from any to any
7. 打開 Firewall 的功能在 /etc/rc.conf 加入 firewall_enable=YES
8. 執行 natd如 natd -n de0其中 de0 是對外的網路介面
Port Redirection 參考參數natd -redirect_port tcp 10.0.0.1:80 80 -n de0
14
Computer Center of NCU Jiann-Ching Liu
Linux 的 IP Masquerade• NAT 的功能在 Linux 系統稱為 IP Masquerade
設定方式 :1. 重新製作 Linux 核心
在下列的選頸答 YESPrompt for development and/or incomplete code/drivers
CONFIG_EXPERIMENTALEnable loadable module support
CONFIG_MODULESNetworking support
CONFIG_NETNetwork firewalls
CONFIG_FIREWALLTCP/IP networking
CONFIG_INETIP: forwarding/gatewaying
CONFIG_IP_FORWARDIP: firewalling
CONFIG_IP_FIREWALLIP: masquerading (EXPERIMENTAL)
CONFIG_IP_MASQUERADEIP: ipautofw masquerade support (EXPERIMENTAL)
CONFIG_IP_MASQUERADE_IPAUTOFWIP: ICMP masquerading
CONFIG_IP_MASQUERADE_ICMPIP: always defragment
CONFIG_IP_ALWAYS_DEFRAG
2. 執行 IP Firewall 的設定ipfwadm -F -p masquerade
或更安全一點ipfwadm -F -p denyipfwadm -F -a -m -S $net/$nm -D 0/0
Transparent Proxy 參考設定ipfwadm -I -a accept -P tcp -D 0.0.0.0/0 80 -r 81
15
Computer Center of NCU Jiann-Ching Liu
Linux 核心製作1.下載 Linux 核心程式ftp://linux.cis.nctu.edu.tw/kernel/v2.2/linux-2.2.3.tar.gz
2.解開 Linux 核心cd /usr/srcrm -fr linuxtar zxvf ~/linux-2.2.3.tar.gz
3.設定 Linux 核心參數cd /usr/src/linuxmake menuconfig
4.編譯 Linux 核心make depmake cleanmake zlilomake modulesmake modules_install
16
Computer Center of NCU Jiann-Ching Liu
Linux 核心製作 : NAT 相關選項
Networking options --->[*] Network firewalls
[*] IP: firewalling
[*] IP: always defragment (required for masquerading)
[*] IP: transparent proxy support
[*] IP: masquerading
[*] IP: ICMP masquerading
[*] IP: masquerading special modules support<M> IP: ipautofw masq support (EXPERIMENTAL) (NEW)
<M> IP: ipportfw masq support (EXPERIMENTAL) (NEW)
<M> IP: ip fwmark masq-forwarding support (EXPERIMENTAL) (NEW)
17
Computer Center of NCU Jiann-Ching Liu
Linux/FreeBSD Server 在 Private IP 應用實例
Internet 10.0.0.254140.115.11.217
10.0.0.x
Server: 10.0.0.1
1.Proxy-based Firewall (Traditional Proxies)
2.NAT Router (Masquerading) 的設定3.Transparent Proxy 的設定
4.NAT Router 內架設對外服務 Server
18
Computer Center of NCU Jiann-Ching Liu
Proxy-based Firewall
Internet 10.0.0.254140.115.1.1
10.0.0.x
1.Firewall 具兩個網路介面,分別接到內外網路2.內外網路的封包不互相流通3.連上 Internet 唯一的方法是先連上 Firewall4.在 Firewall 上跑 Proxy 程式 ( 如 squid)
1.內部網路使用 10.0.0.x 的 IP, 不必設 default gateway2.Firewall 兼做 Proxy Server ( 如 : 跑 squid, port 設在 3128)3.Client ( 如 Netscape) 設定 proxy server 為 10.0.0.254 的 3128 port4.Firewall 兼做 DNS, Email, Web 或其它 Server
參考設定
19
Computer Center of NCU Jiann-Ching Liu
Proxy-based Firewall (conti)
10.0.0.x
Internet
10.0.0.254
10.0.0.253
10.0.0.252
10.0.0.251
PROXY: 140.115.1.4
DNS: 140.115.1.3
WWW: 140.115.1.2
Email: 140.115.1.1
• 如果合法 IP 不只一個,可將各伺服器擺在同等位置• 每台伺服器都具有兩張網路介面及內外 IP 各一個• Client 將 Mail Server, Web Server, DNS Server, Proxy Server 等設定到對應伺服
器的內部 IP
Proxy-based Firewall 的主要問題是使用者不能十分Transparently 的使用網路 , 如使用 telnet, ping, ... 等
20
Computer Center of NCU Jiann-Ching Liu
Internet 10.0.0.254140.115.1.1
10.0.0.x
NAT Router (Masquerading)
1.重寫通過 Firewall 的封包 , 使所有的封包看起像是從 Firewall 自己發送出來的2.Linux 的 Masquerading 有分別的模組去處理如 : FTP, RealAudio, Quake 。3.所有對 Internet 服務的提供必需在 Firewall 。
1.內部網路使用 10.0.0.x 的 IP, 並設 default gateway 為 Nat Router2.NAT 可兼做 Proxy, DNS, Email, Web 或其它 Server3.Client 的設定與正常無異 , 將 NAT 當成一般的 Router 看待4.內部網路如有對外的伺服器需額外設定 , 且每個服務號碼 (port) 最多只能有一個伺服器
參考設定
21
Computer Center of NCU Jiann-Ching Liu
Linux IP Chains tool• Linux 自 2.1.102 版的 Firewalling code 已更新 , 需要 Linux IP Fi
rewalling Chains 的工具來管理
• http://www.rustcorp.com/linux/ipchains/
• 下載 ipchains-1.3.8.tar.gz (http://www.rustcorp.com/linux/ipchains/)
• 解開、編譯、安裝
tar zxvf ipchains-1.3.8.tar.gzcd ipchains-1.3.8makemake install
22
Computer Center of NCU Jiann-Ching Liu
Internet 10.0.0.254140.115.1.1
10.0.0.x
ipchains 的設定echo 1 > /proc/sys/net/ipv4/ip_forwardipchains -A forward -s 10.0.0.0/16 -d 0.0.0.0/0 -j MASQipchains -A forward -s 0/0 -j DENY
原 ipfwadm 的參考設定
ipfwadm -F -p denyipfwadm -F -a m -S 10.0.0.0/16 -D 0.0.0.0/0
23
Computer Center of NCU Jiann-Ching Liu
Internet 10.0.0.254140.115.1.1
10.0.0.x
NAT Router: FreeBSD 的設定
sysctl -w net.inet.ip.forwarding=1
ipfw -f flushipfw add divert natd all from any to any via ed1ipfw add pass all from any to any
natd -interface ed1
FreeBSD 核心設定
options IPFIREWALLoptions IPDIVERT
ed1
24
Computer Center of NCU Jiann-Ching Liu
FTP nightmares• FTP 具有 Active 與 Passive 兩種模態, Web Browser 通常使用 Passive Mode ,而傳統命令列的 FTP 通常使用 Active Mode
• 使用 Active Mode 時,當遠端要傳送檔案或做 dir 等指令時,會打開一個 TCP 的連線到本地主機
• 使用 Passive Mode 時,即使有資料要從遠端傳回,連線的建立也是從 Client 到 Server
• Linux 要解決 Active Mode FTP 的問題可載入 ip_masq_ftp 的模組如 : modprobe ip_masq_ftp
• FreeBSD 的 IPNAT 存在 Active Mode FTP 的問題,使用 NATD 則沒有問題
ftp> get samba-2.0.2.tar.gzlocal: samba-2.0.2.tar.gz remote: samba-2.0.2.tar.gz500 Illegal PORT Commandftp> passivePassive mode on.ftp> get samba-2.0.2.tar.gzlocal: samba-2.0.2.tar.gz remote: samba-2.0.2.tar.gz227 Entering Passive Mode (140,115,11,215,4,138)150 Opening BINARY mode data connection for samba-2.0.2.tar.gz (2052417 bytes).226 Transfer complete.2052417 bytes received in 2.29 secs (8.7e+02 Kbytes/sec):
用 passive mode 才可以抓檔
25
Computer Center of NCU Jiann-Ching Liu
Internet 10.0.0.254140.115.1.1
10.0.0.x
Transparent Proxies
1.Transparent Proxies 包含兩個部份 , 一是 transparent redirect 的動作 , 一是適合於處理 redirect request 的 proxies server2.Client 不需要知道及設定 Proxy
1.內部網路使用 10.0.0.x 的 IP, 並設 default gateway 為 Redirect Server2.Redirect Server 可兼跑 Proxies Server 或只將 Request Redirect 到內部或外部網路的 dedicate proxies server
參考設定
26
Computer Center of NCU Jiann-Ching Liu
Redirector 兼 Proxies 參考設定
1.Linux 核心製作包含下列遻項[*] Network firewalls
[*] IP: firewalling
[*] IP: always defragment (required for masquerading)
[*] IP: transparent proxy support 2.Linux firewall rulesipchains -F input
ipchains -A input -p TCP -d localhost 80 -j ACCEPT / DENY
ipchains -A input -p TCP -d 140.115.1.1 80 -j ACCEPT / DENY
ipchains -A input -p TCP -d 10.0.0.254 80 -j ACCEPT / DENY
ipchains -A input -p TCP -d 0.0.0.0/0 80 -j REDIRECT 3128
3.squid 下載編譯與安裝download squid-2.1.PATCH2-src.tar.gz ( http://squid.nlanr.net/ )tar zxvf squid-2.1.PATCH2-src.tar.gz
cd squid-2.1.PATCH2
./configure --enable-ipf-transparent
make
make install
4.squid 的設定檔 squid.confhttpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
兼 WWW Server 時要ACCEPT 否則 DENY
27
Computer Center of NCU Jiann-Ching Liu
Internet 10.0.0.254140.115.1.1
10.0.0.x
Transparent Proxies: FreeBSD 的設定
FreeBSD 核心設定 : 請參考 IPNAT 的設定
options IPFILTER
ed1
• FreeBSD 的 Transparent Proxies 可利用 IP Filter 來完成
de0
ipnat.conf 檔的參考設定rdr de0 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128 tcpmap ed1 10.0.0.0/8 -> 140.115.1.252/30 portmap tcp/udp 1025:65000map ed1 10.0.0.0/8 -> 140.115.1.252/30
•squid 的部份同上一頁
28
Computer Center of NCU Jiann-Ching Liu
Dedicate Proxies 參考設定1.Linux 核心製作包含下列遻項[*] Network firewalls
[*] IP: firewalling
[*] IP: always defragment (required for masquerading)
[*] IP: transparent proxy support 2.Linux firewall rulesipchains -F input
ipchains -A input -p TCP -d localhost 80 -j ACCEPT / DENY
ipchains -A input -p TCP -d 140.115.1.1 80 -j ACCEPT / DENY
ipchains -A input -p TCP -d 10.0.0.254 80 -j ACCEPT / DENY
ipchains -A input -p TCP -d 10.0.0.253 80 -j ACCEPT
ipchains -A input -p TCP -d 0.0.0.0/0 80 -j REDIRECT 8081
3.下載安裝 tproxyddownload transproxy-0.3.tar.gz
tar zxvf transproxy-0.3.tar.gz
cd transproxy-0.3
make
make install
4.執行 tproxyd/usr/sbin/in.tproxyd -s 8081 -r nobody 140.115.1.2 3128
兼 WWW Server 時要ACCEPT 否則 DENY
指到 Dedicate ProxiesServer
放過 Dedicate Proxies Server
FreeBSD 的設定與前頁相同,和 Linux 一樣不跑 squid 改跑 tproxyd
29
Computer Center of NCU Jiann-Ching Liu
其他服務的設定參考 : telnet1.Linux 核心製作包含下列遻項[*] Network firewalls
[*] IP: firewalling
[*] IP: always defragment (required for masquerading)
[*] IP: transparent proxy support 2.Linux firewall rulesipchains -F input
ipchains -A input -p TCP -d localhost 23 -j ACCEPT
ipchains -A input -p TCP -d 140.115.1.1 23 -j ACCEPT
ipchains -A input -p TCP -d 10.0.0.254 23 -j ACCEPT
ipchains -A input -p TCP -d 0.0.0.0/0 23 -j REDIRECT 2023
3.下載安裝 redirdownload redir-1.1.tar.gz
tar zxvf redir-1.1.tar.gz
cd redir-1.1
make
cp redir /usr/sbin
4.執行 redir/usr/sbin/redir 140.115.1.2 2023 23 &
指到 Dedicate ProxiesServer
30
Computer Center of NCU Jiann-Ching Liu
NAT Router 內的對外服務伺服器
10.0.0.x
Internet
10.0.0.254
10.0.0.253
10.0.0.252
10.0.0.251
PROXY: 140.115.1.4
DNS: 140.115.1.3
WWW: 140.115.1.2
Email: 140.115.1.1
1.在沒有 IP 不足或其它問題的情形,各 Server 可以分別有對內及對外窗口
2.若一定要在 NAT Router 內擺設對內外服務的伺服器,除了 Email 可利用在 DNS 上的 MX (Mail Exchanger) 的方式解決外 , 大部份都可利用前面提到的 redirect 的方式
31
Computer Center of NCU Jiann-Ching Liu
內部對外服務的設定參考
ipchains -A input -p TCP -d 140.115.1.1 23 -j REDIRECT 2023
/usr/sbin/redir 10.0.0.1 2023 23 &
法一 沿用 Transparent Proxie 的方法
優點是可以控制用 firewall 的方式控管 , 對不同來源 redirect 到不同的伺服器 , 開放固定的連線可進入 NAT Server
法二 直接改 inetd.conf
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
/usr/sbin/redir --inetd 140.115.0.1 23
優點是比較直接 , 有效率 , 也可利用 TCP-Wrapper 的功能做控管
32
Computer Center of NCU Jiann-Ching Liu
NAT 的效能參考以下資料為非正式的測試資料,測試方法是以 TCP echo Port 傳輸效率為量度
Local BSD Linux Local BSD Linux1 對 1 729.22 379.96 406.35 729.22 379.96 406.352 對 2 565.64 351.87 365.78 1131.28 703.74 731.563 對 3 386.76 303.41 343.8 1160.28 910.23 1031.44 對 4 287.53 282.48 1150.12 1129.925 對 5 229.33 225.25 1146.65 1126.256 對 6 190.51 188.48 1143.06 1130.88
Total (kb/s)Echo Test (kb/s)
33
Computer Center of NCU Jiann-Ching Liu
NAT 的效能參考 ( 二 )
0
200
400
600
800
1000
1200
1400
1 2 3 4 5 6
Local
BSD
Linux
Local (total)
BSD (total)
Linux (total)
34
Computer Center of NCU Jiann-Ching Liu
NAT 光碟與使用
NAT 光碟為教育部委託,中央大學製作
光碟內容主要有下列幾大項
1.NAT Server 光碟 :開機光碟,開起來就是 NAT 伺服器2.關於 NAT 的一些說明文件3.NAT 相關的工具搜集4.NAT 相關網站搜集5.一套可安裝的免費 UNIX 相仿作業系統(FreeBSD 或 Linux)
光碟的使用 : 光碟的使用方法除了第一項在文中介紹外, 2 ~ 4 項的使用請直接將光碟放到 Windows 98 系統,利用系統的 autorun 或執行 setup 導覽。第五項的部份則自行參考該系統的安裝方式
35
Computer Center of NCU Jiann-Ching Liu
NAT Server 光碟NAT Server 光碟的特色
1.CD-ROM 可直接開機,開起來後就是一台 NAT Server 或 Router 。2.簡易的設定界面,在設定後自動將設定儲存在軟碟中,不必每次重覆設定。3.完全不需要硬碟,沒有損壞、管理的負擔。4.具有 SNMP 的 Agent ,可利用 MRTG 或其它網管工具讀取其流量。5.對內部網路可提供 DHCP 服務,方便電腦教室或其它應用。6.可加入對 WWW 的 服 務 做 Transparent Proxy 功能
7.支援使用者開機自動執行程序,可依據需要加入自定程序。
36
Computer Center of NCU Jiann-Ching Liu
硬體需求
1.486 等級以上的 CPU
2.16 Mega 以上的 RAM ( 最好在 32 Mega 以上 )
3.CD-ROM 一台 ( 最好是 IDE 介面 )
4.3.5 吋 1.44 M 軟碟機一台及軟碟片一張 (儲存設定用,或系統不支援 CD-ROM Boot 時,開機用 )
5.兩張網路介面卡 ( 最好是 PCI 介面,非 PnP 卡可能需要事先知道 I/O 位址,並事先防止 I/O 及 IRQ 位址衝突 )
37
Computer Center of NCU Jiann-Ching Liu
開機方式
視環境狀況,可選用下列三種方式之一種進行開機
1.CD-ROM 直接開機
2.用軟碟開機 (需先製作開機磁片 )開機磁片的製作可從 MS-DOS 系統,或 Linux 系統製作從 DOS 製作的方式是先改變工作磁碟到光碟,然後下\dosutils\rawrite -f \bootdisk\boot.img -d a:從 Linux 製作的方式是先將光碟機掛到 Linux 作業系統,然後dd if=/cdrom/bootdisk/boot.img of=/dev/fd0
3.在 DOS 開機後,再進入系統開 DOS 時,載入光碟驅動程式,切換工作磁碟機到光碟後,下 autoboot 指令
38
Computer Center of NCU Jiann-Ching Liu
環境的設定與儲存• 系統在第一次用時,需對環境做簡單的設定• 為了方便使用,設定的資料可儲存在軟碟上,以避免重覆設定
• 軟碟為 DOS 格式化格式 ( 在 DOS 下可 dir )
• 設定檔檔名為 netset.cnf ,除非十分熟悉,不要嘗試用編輯程式修改內容
• 若開機時忘了放磁碟片,設定檔可在 /ncu 目錄下找到,檔名為 netset.conf 。可自己掛上軟碟並把檔案 copy 到軟碟,但需記得更名為 netset.cnf
• 使用開機磁片開機者,開機磁片本身就可以當設定資料儲存的磁片。
開機
插有軟碟
存在設定檔
環境設定
回寫設定
環境設定讀取設定
完成開機
YN
N Y
39
Computer Center of NCU Jiann-Ching Liu
設定流程
http://www.cc.ncu.edu.tw/~center5/livecd/boot.htm
詳細的設定流程請參考
40
Computer Center of NCU Jiann-Ching Liu
自定開機自動執行程序系統設定完並儲存後,以後開機自動讀取,就能依設定的內容自動執行。雖然這樣已滿足了多數的需求,但系統在設計上,仍提供使用者自定的開機自動執行程序,以增加其擴充性
• 自定的開機自動執行程序放在設定磁片上,檔名需為 autoexec.sh。檔案可用 DOS 或 UNIX 的編輯程式編寫,其格式為普通文字檔。
• autoexec.sh 執行的時間是在系統內定的所有開機程序之後• autoexec.sh 開頭需註名程式使用的 interpreter 的名稱,如
#!/bin/sh 或 #!/usr/bin/perl• autoexec.sh 在執行的時候,軟碟機已經卸下,如欲讀取軟碟機,需
先加上掛軟碟的動作,如 mount -t msdos /dev/fd0 /floppy
41
Computer Center of NCU Jiann-Ching Liu
自定開機自動執行程序範例一以下範例為在自動開機時自動修改 root 的密碼為 rootpass
#!/bin/sh
PASS="rootpass"
rm -f /etc/shadow-; cp /etc/shadow /etc/shadow-perl -e ' $encrypt = crypt($ARGV[0], "zT"); open(FN, "$ARGV[1]"); while (<FN>) { chomp; /(^\w+):[\\\w]+:(.*$)/; if ($1 eq "root") { print "root:$encrypt:$2\n"; } else { print "$_\n"; } } close FN;' $PASS /etc/shadow- > /etc/shadowchown root.shadow /etc/shadowchmod 640 /etc/shadow
42
Computer Center of NCU Jiann-Ching Liu
預設帳號及密碼
• 系統預設 root 帳號的密碼為空白, ( 在詢問 passwd 時,不敲任何字,直接按 ENTER)
• root 帳號只能從主機簽入,不能從遠端簽入
• 另外系統有一個一般使用者帳號 liujc ,密碼也是空的,可以從遠端透過 telnet 方式簽入
如果想在開機時,自動改好密碼以增加系統安全性可參考前一節介紹的自定開機程序範例
43
Computer Center of NCU Jiann-Ching Liu
參考資料
1.NATD: FreeBSD System Manager’s Manual
2.Linux IP Masquerade mini HOWTO
3.http://www.indyramp.com/masq/
4.http://squid.nlanr.net/Squid/FAQ/FAQ-17.html
5.Linux IPCHAINS-HOWTO