1 / 55

Lesson 1: 主機基本設定 (2004/06/10)

Lesson 1: 主機基本設定 (2004/06/10). 講員介紹. 本名:孫仲岳 (Saturn Sun.) 生日: 1980 年 11 月 4 日天蠍座 現任: 中原大學校園網路策進會 會長 中原檔案伺服器網管 http://ftp.cycu.edu.tw 中原熊蓋站站長 http://best .cycu.com.tw 中文化軟體聯盟網管 http://cpatch.org AX 工作室負責人 http://www. ax.com.tw. 如何取得上課投影片. http://best.cycu.edu.tw 進入「校園網路策進會」版. 前言.

austin
Download Presentation

Lesson 1: 主機基本設定 (2004/06/10)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lesson 1: 主機基本設定 (2004/06/10)

  2. 講員介紹 • 本名:孫仲岳 (Saturn Sun.) • 生日:1980年11月4日天蠍座 • 現任: • 中原大學校園網路策進會 會長 • 中原檔案伺服器網管 http://ftp.cycu.edu.tw • 中原熊蓋站站長 http://best.cycu.com.tw • 中文化軟體聯盟網管 http://cpatch.org • AX工作室負責人 http://www.ax.com.tw

  3. 如何取得上課投影片 • http://best.cycu.edu.tw • 進入「校園網路策進會」版

  4. 前言 • 安裝全新 FreeBSD • 編譯核心 • 系統相關設定 • 防火牆與NAT設定

  5. 硬體與軟體 • 電腦主機一部 • 兩張網路卡 • FreeBSD 4.x 作業系統 • 編譯核心與相關設定 • 對外網路 • DHCP、固定IP、PPPoE

  6. FreeBSD 全新安裝 • 新增使用者 • 開設您喜歡的帳號 • 加入wheel管理者群組 • 可以選用sudo / 保全 root 密碼 • 完成對外網路連線 • 改採用SSH方式連線,設定主機

  7. 遠端登入系統 • 透過SSH連線 • 使用Putty • 查看主機端的IP位址 • ifconfig • 解決長期的問題 • 除非您是固定IP,建議申請DDNS服務

  8. 遠端登入系統 • 使用一般帳號連線 • 變身為root • 使用su指令 / 輸入root密碼 • 使用sudo -s / 尚未安裝,後面在教 • 申請DDNS服務(ADSLDNS) • 編寫Script,自動更新IP

  9. 執行port tree更新 • 安裝最新版本的軟體 • 利用 CVSUP 更新 port-tree • cd /usr/ports/net/cvsup-without-gui • 切換到CVSUP的目錄 • make install • 執行安裝

  10. 執行port tree更新 • 如果安裝軟體很慢 • 調整 /etc/make.conf 的proxy與站台設定 • 複製預設的make.conf • cp /etc/defaults/make.conf /etc/ • 修改 make.conf • vi /etc/make.conf

  11. make.conf 關鍵設定(1) • 設定PROXY以便快速取檔 • FETCH_ENV=FTP_PROXY=http://proxy.seed.net.tw:8080 • FETCH_ENV=HTTP_PROXY=http://proxy.seed.net.tw:8080 • 用國內站台來抓取檔案 • 如下頁所做的修改

  12. make.conf 關鍵設定(2) MASTER_SITE_BACKUP?= \ ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp10.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp11.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp12.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\ ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/

  13. 執行port tree更新 • 切換到 /etc 目錄 • cd /etc • 抓取 cvsup 設定參考範例 • fetch ftp://freebsd.csie.nctu.edu.tw/pub/CVSup/cvsupfile-ports • fetch ftp://freebsd.csie.nctu.edu.tw/pub/CVSup/cvsupfile-stable • fetch ftp://freebsd.csie.nctu.edu.tw/pub/CVSup/run_cvsup • 將run_cvsup 安裝到 /usr/local/bin • install -c -m 755 run_cvsup /usr/local/bin

  14. 執行port tree更新 • 可修改檔案內容,將壓縮註解掉 • # *default compress • 網路速度大於 1.5M 以上 • 可以這樣加速下載

  15. 執行port tree更新 • 執行一下更新,第一次會比較久 • /usr/local/bin/run_cvsup • 將系統更新加入排程(編輯排程) • crontab –e • 加入以下的內容(每三小時更新) • 30 */3 * * * /usr/local/bin/run_cvsup > /dev/null

  16. DDNS (動態DNS服務) • 可能會遇到的問題 • 若尚未安裝 lynx,請自行安裝 • 請用ports 安裝 • cd /usr/ports • make search key=“lynx” • cd /usr/ports/www/lynx/ • make install

  17. DDNS (動態DNS服務) • 資料來源 • www.adsldns.org上的FreeBSD client • vi /usr/local/etc/rc.d/ddns.sh • 貼上後面範例檔的內容 • 修改有顏色的部份 • 存檔( :x! ) • 加上可執行的權限 • chmod +x /usr/local/etc/rc.d/ddns.sh

  18. DDNS.sh • #!/bin/sh • echo ‘passwd=PASSWORD&email=XXX@msa.hinet.net&hostname=XXX.adsldns.org&debug=1'|/usr/local/bin/lynx http://www.adsldns.org:8080/clientupdate.php -post_data

  19. DDNS (動態DNS服務) • 執行程式(或是重開機也會生效) • /usr/local/etc/rc.d/ddns.sh • 加入系統排程(3分鐘更新) • crontab -e • */3 * * * * /usr/local/etc/rc.d/ddns.sh

  20. 編譯核心 • cd /usr/src/sys/i386/conf/ • 切到核心檔案的目錄 • cp GENERIC SATURN • 複製一份設定檔(自行取名) • mv SATURN /etc • 搬到 /etc 底下

  21. 編譯核心 • ln -s /etc/SATURN ./ • 將 /etc 裡面的設定檔連結回來 • vi SATURN • 打開檔案編輯 • 將下頁的設定加在最後面 • 然後儲存離開

  22. 編譯核心 • options IPDIVERT • options IPFIREWALL • options IPFIREWALL_DEFAULT_TO_ACCEPT • options IPFIREWALL_FORWARD • options IPFIREWALL_VERBOSE • options IPFIREWALL_VERBOSE_LIMIT=10 • options DUMMYNET

  23. 編譯核心 • config SATURN • 建立系統設定檔 • 會出現提示如下 • Kernel build directory is ../../compile/SATURN • cd ../../compile/SATURN • 切換目錄 • make depend all install • 編譯並且安裝

  24. 編譯核心 • 慢慢等~ • 可以休息一下,放著跑 • 跑完查看是否有錯誤訊息 • reboot • 重新開機,如果順利開起來,就恭喜^^ • 繼續進行後續設定

  25. 編譯核心 • 可能會遇到的問題 • 根本沒 /usr/src/ 的目錄 • 解決方式 • 請用 /stand/sysinstall • 將系統的 kernel source 的部份裝上

  26. 設定NAT • 查看目前的網卡 • ifconfig -a • 常見的網卡 • Intel -> fxp0 • D-Link -> vr0 • 螃蟹卡 -> rl0

  27. 設定NAT • 修改 rc.conf 來進行設定 • 認清楚哪張卡對外、哪張卡對內 • 對外的卡(螃蟹卡) -> rl0 -> DHCP • 對內的卡(D-Link) -> vr0 -> 私有IP • 對內網卡設定 • 網卡IP: 192.168.0.1

  28. 設定NAT • 修改 rc.conf 加入以下設定 • ifconfig_rl0="DHCP"#對外 • ifconfig_vr0="inet 192.168.0.1 netmask 255.255.255.0" #對內 • gateway_enable="YES" • natd_interface="rl0" • natd_enable="YES" # Enable natd (if firewall_enable == YES). • firewall_enable="YES" # Set to YES to enable firewall functionality • firewall_type="simple" # Firewall type (see /etc/rc.firewall) • firewall_quiet="YES" • tcp_extensions="YES"

  29. 設定NAT • 備份 /etc/rc.firewall (改名) • mv /etc/rc.firewall /etc/rc.firewall-back • 新增 /etc/rc.firewall • vi /etc/rc.firewall • 貼上以下的內容 • 看下頁

  30. 設定NAT • #!/bin/sh • /sbin/ipfw -f flush • /sbin/ipfw add pass all from 127.0.0.1 to 127.0.0.1 • /sbin/ipfw add divert natd all from any to any via rl0 • /sbin/ipfw add deny all from 192.168.0.1/24 to any • /sbin/ipfw add pass all from any to any

  31. 設定防火牆 • 除了完成NAT,還想要更多 • 限制連線來源 • 限制連接埠 • 使用透明代理伺服器加速存取

  32. 設定防火牆 • 限制連線來源 • /sbin/ipfw add deny all from 192.168.0.1/24 to me • 限制連接埠 • /sbin/ipfw add deny all from 192.168.0.1/24 to me 1234 • 使用透明代理伺服器加速存取 • /sbin/ipfw add fwd 139.175.55.210,8080 tcp from 192.168.0.1/24 to any 80

  33. 設定防火牆 • 詳細設定可參考 • 交大資科系計中 陳君漢先生 • IPFireWall on FreeBSD • http://www.cis.nctu.edu.tw/chinese/doc/research/report/PPT/IPFW_on_FreeBSD.ppt

  34. 設定流量限制 • 修改 /etc/rc.firewall 檔案 • vi /etc/rc.firewall • 將流量限制規則擺在最後 • 初學者容易弄混順序 • 透過管線(pipe)來限制流量

  35. 設定流量限制 • /sbin/ipfw add pipe 1 ip from me to 192.168.0.1/24 out • /sbin/ipfw add pipe 2 ip from 192.168.0.1/24 to me in • /sbin/ipfw pipe 1 config bw 2500Kbit/s • /sbin/ipfw pipe 2 config bw 200Kbit/s

  36. 設定流量限制 • add pipe 1 • 新增一個限制用的管線 • ip / tcp / udp • 限制的類型 • from X to X • 設定限制的範圍 • config bw 2500Kbit/s • 限制頻寬(bw, bandwidth) 每秒 2500kbits

  37. 設定流量限制 • 詳細設定可參考 • 交大資科系計中 陳君漢先生 • IPFireWall on FreeBSD • http://www.cis.nctu.edu.tw/chinese/doc/research/report/PPT/IPFW_on_FreeBSD.ppt

  38. IPFW 的小結 • 可以做更多的應用 • 主機對應(將外部IP對應到內部主機之IP) • 連接埠對應(將外部連接埠轉至內部) • 常用的檢查指令 • /sbin/ipfw show • 用來查看目前的防火牆規則

  39. 立即生效 ipfw 規則 • 幫 /etc/rc.firewall 加上權限 • chmod +x /etc/rc.firewall • 執行 rc.firewall • /etc/rc.firewall • 拿掉權限 • chmod -x /etc/rc.firewall

  40. 建立DHCP服務 • 安裝 DHCP Server • cd /usr/ports/ • make search key=“dhcp” • cd /usr/ports/net/isc-dhcp3-server/ • make install

  41. 建立DHCP服務 • 新建設定檔 • vi /usr/local/etc/dhcpd.conf • 後面將詳細介紹相關設定 • 基本設定 • 配置的IP範圍 • 固定IP的配發

  42. default-lease-time 600; • max-lease-time 7200; • option subnet-mask 255.255.255.0; • option domain-name-servers 168.95.1.1; • option domain-name "nat.ax.com.tw"; • option interface-mtu 1500; • ddns-update-style none; • subnet 192.168.0.0 netmask 255.255.255.0 • { • option routers 192.168.0.1; • option broadcast-address 192.168.0.255; • range 192.168.0.150 192.168.0.200; • } • host saturnnb • { • hardware ethernet 00:20:a6:4f:f8:8e; • fixed-address 192.168.0.90; • }

  43. 建立DHCP服務 • default-lease-time 600; • max-lease-time 7200; • option subnet-mask 255.255.255.0; • option domain-name-servers 168.95.1.1; • option domain-name “abc.org"; • option interface-mtu 1500; • ddns-update-style none;

  44. 建立DHCP服務 • subnet 192.168.0.0 netmask 255.255.255.0 • { • option routers 192.168.0.1; • option broadcast-address 192.168.0.255; • range 192.168.0.150192.168.0.200; • }

  45. 建立DHCP服務 • host saturnnb • { • hardware ethernet 00:20:a6:4f:f8:8e; • fixed-address 192.168.0.90; • }

  46. 建立DHCP服務 • touch /var/db/dhcpd.leases • 建立 dhcpd.leases (DHCP 記錄檔) • vi /etc/hosts • 編輯 /etc/hosts 檔案 • 255.255.255.255 For-DHCP • 加上上述的內容(單獨放一行)

  47. 建立DHCP服務 • 修改 RoutingTable • route add -host For-DHCP -interface vr0 • 先備份 isc-dhcpd.sh • mv /usr/local/etc/rc.d/isc-dhcpd.sh /usr/local/etc/rc.d/isc-dhcpd.sh.bak • 建立 isc-dhcpd.sh 檔案 • vi /usr/local/etc/rc.d/isc-dhcpd.sh

  48. 建立DHCP服務 • 貼上一行內容 • /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.confvr0 • 附加上可執行的權限 • chmod +x /usr/local/etc/rc.d/isc-dhcpd.sh • 重新啟動電腦 • reboot

  49. 建立DHCP服務 • 恭喜!到這裡為止,重新開機一次! • 測試相關設定的作用是否有起來 • 沒有的話再回頭檢查問題

  50. 補完 DHCP client • 內建的 DHCP client 有問題 • 安裝 ports 裡面的版本 • 安裝相關指令操作 • cd /usr/ports/ • make search key=“isc-dhcp-client” • cd /usr/ports/net/isc-dhcp3-client • make install

More Related