2011年7月24日 星期日

Tiny Core 網路設定 - DHCP, 固定 IP 及 NAT


Tiny Core Linux 的 Core 版本開機流程如下 :
[BootLoader → bzImage → tinycore.gz] → init → inittab → init.d/rcS → tc-config → ( dhcp.sh & tce-setup & restore.sh & bootsync.sh → bootlocal.sh) → init → /root/.profile → /home/tc/.profile →→→ /usr/bin/startx → ( xsetup.sh) → /home/tc/.xsession → ( Xvesa, jwm & wbar & /home/tc/.X.d/*.* )

根據上述開機流程來設定本機網路系統

取消 DHCP 自動取得 IP 功能

方法一 
在 Boot Loader (isolinux) 的 APPEND 核心參數中加入 nodhcp, 當系統重新啟動後, 所有網卡不會配置 IP, 設定步驟如下 ;

$ sudo nano -w /mnt/hda1/boot/extlinux/extlinux.conf
                                    :   
APPEND initrd=/boot/microcore.gz nodhcp ............


系統一旦設定 nodhcp, 這時你如要使用網路, 你可以選擇 "設定固定 IP" 或 "再度啟動 DHCP 功能"


使用 ifconfig 命令, 設定網卡 IP, 操作如下 :

$ sudo ifconfig eth0 192.168.100.5 netmask 255.255.255.0 up

如要使用 DHCP 方式取得 IP, 可使用 udhcpc 命令來完成, 操作如下 :

$ udhcpc -i eth0 -n

方法二

在 /opt/bootlocal.sh 程式最後, 加入以下程式段, 使得系統啟動後將 udhcpc 這程式給關閉


$ sudo nano /opt/bootlocal.sh
                   :
x=$(ps aux | grep udhcpc)
y=$(echo $x | cut -d' ' -f1)
kill $y

因 udhcpc 這程式是在 bootlocal.sh 之前執行, 所以系統還是會從 DHCP Server 取得 IP, 這是與方法一最大的差別, 一旦你設定固定 IP, 固定 IP 就不會被 udhcpc 置換



設定本機電腦名稱

設定本機電腦名稱, 可使用 sethostname 命令, 範例如下 :

$ sudo sethostname GW

Tiny Core Linux 在還沒登入之前, 會以 root 身份, 執行 /opt/bootsync.sh 這程式,在這程式中,加入  "/usr/bin/sethostname NS66" 這行命令,如下 :

$ nano /opt/bootsync.sh
#!/bin/sh
# put other system startup commands here, the boot process will wait until they complete.
# Use bootlocal.sh for system startup commands that can run in the background
# and therefore not slow down the boot process.
/usr/bin/sethostname NS660
/opt/bootlocal.sh &

固定 IP 設定
Tiny Core Linux 在還沒登入之前, 會以 root 身份, 先執行 /opt/bootlocal.sh, 所以網路相關設定可存入此檔案.

1. 設定網卡 IP

$ nano /opt/bootlocal.sh
                   :
ifconfig eth0 192.168.100.5 netmask 255.255.255.0 up
udhcpc -i eth1 -n

2. 設定 Default Gateway

$ nano /opt/bootlocal.sh
             :
route add default gw 192.168.100.254

3. 設定 DNS Server

$ nano /opt/bootlocal.sh
             :
echo "nameserver 168.95.1.1" > /etc/resolv.conf

4. 儲存設定

$ filetool.sh -b

5. 重新開機

$ sudo reboot

啟動 NAT 功能
要啟動 NAT 轉址功能, 必須有二個網路介面, 對內網路介面需固定 IP, 對外可以是 DHCP 或固定 IP.

1. 安裝 iptables.tcz 套件

$ tce-load -wi iptables.tcz

2. 在 /opt/bootlocal.sh 檔, 加入以下命令

$ nano /opt/bootlocal.sh
                     :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

3. 備份設定

$ filetool.sh -b

4. 重新開機

$ sudo reboot

沒有留言:

張貼留言