歡迎您光臨本站 註冊首頁

用CDlinux做防火牆和上網共享

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  用CDlinux做防火牆和上網共享

為什麼要選用linux?

因為linux穩定,安全,對計算機硬體要求低。


何為CDlinux?
CDlinux為在linux基礎上製作的,針對光碟運行的linux,但其還可以安裝到硬碟、優盤上。詳見http://cdlinux.berlios.de/

為什麼要選用CDlinux?
因為CDlinux體積小(僅需20M硬碟空間),易定製(軟體包採用標準tgz包),又基本具備完整linux的所有功能,理論上你可以安裝任何linux版本的軟體,而且內核更新很快(0.4.7版內核為2.4.23,0.4.8版內核為2.4.25),用其做防火牆完全可以滿足需要。

硬體配置586,24M內存,40M硬碟兩塊網卡。

1、先從http://cdlinux.berlios.de/下載cdlinux。然後按其幫助文檔將其安裝到硬碟上。


2、建立/etc/rc.d/rc.local腳本

內容如下:
#!/bin/sh
/etc/rc.d/netshare
#執行網卡配置
/etc/rc.d/firewall
#執行防火牆腳本


3、建立/etc/rc.d/netshare腳本

內容如下:
#!/bin/sh
if [ -f \"/etc/dhcpc/dhcpcd-eth0.pid\" ] ; then
rm /etc/dhcpc/dhcpcd-eth0.pid -rf
fi
#eth0為對外網卡,我們的上網方式是動態ip,如果你的不是那得改成......
#判斷是否已經運行過dhcpcd,如果是,刪除生成的dhcpcd-eth0.pid文件,重新獲得ip地址
dhcpcd eth0
ifconfig eth1 192.168.0.254
#192.168.0.254是對內網關地址,eth1為對內網卡
if [ -f \"/etc/dhcpc/dhcpcd-eth0.pid\" ] ; then
rm /etc/dhcpc/dhcpcd-eth0.pid -rf
fi
dhcpcd eth0

#我的系統,第一次獲得ip好像有些不正常,所以又執行了一次,你看情況吧

4、建立/etc/rc.d/firewall防火牆腳本

防火牆腳本,iptables的功能十分強大,就不給出內容了,你可以參考別人的腳本建立。


5、刪除系統默認用戶ok,並修改root口令,這一步很重要哦,否則........


6、如果為0.4.7版,請將dhcpcd-1.3.22-pl4-cdl.tgz(在586cpu上運行有問題),iptables-1.2.9-cdl.tgz包替換為0.4.8版中的對應包(我沒有具體試過,我是在0.4.7基礎上修改包的,如果有問題乾脆直接用0.4.8版)。

刪除用不到的包(必須,因為機子的內存才24M,否則不正常可別怪我沒有告訴你),保留以下包:

cce-0.50-20031205-cdl.md(如果希望顯示和輸入漢字)
dcron-2.3.3-cdl.tgz(如果想根據時間來控制防火牆,應保留)
dhcpcd-1.3.22-pl4-cdl.tgz(必須)
iptables-1.2.9-cdl.tgz(必須)
kernel-modules-2.4.23-cdl.md(必須)
smbmount-samba-2.2.8a-cdl.tgz(與網內機子溝通方便,但不利於安全。防火牆配置好后,建議去掉)
ssh-1.2.33-cdl.tgz(可以進行遠程管理)
system-extra-cdl.tgz(必須)

7、以上的配置完成了,為了以後管理方便,請製作以下腳本:

#!/bin/sh
chmod +x /etc/rc.d/netshare /etc/rc.d/firewall /etc/rc.d/rc.local /root/NetShareConfig

if [ -f \"/mnt/CDlinux/cdlinux/extra/rc.local-cdl.tgz\" ] ; then
rm /mnt/CDlinux/cdlinux/extra/rc.local-cdl.tgz
fi
#刪除原來的包rc.local-cdl.tgz


if [ -f \"/mnt/CDlinux/cdlinux/extra/netshare-cdl.tgz\" ] ; then
rm /mnt/CDlinux/cdlinux/extra/netshare-cdl.tgz
fi
#


if [ -f \"/mnt/CDlinux/cdlinux/extra/root-cdl.tgz\" ] ; then
rm /mnt/CDlinux/cdlinux/extra/root-cdl.tgz
fi

#

tar czPfc /mnt/CDlinux/cdlinux/extra/rc.local-cdl.tgz /etc/rc.d/rc.local
#生成新的包rc.local-cdl.tgz
tar czPfc /mnt/CDlinux/cdlinux/extra/netshare-cdl.tgz /etc/rc.d/netshare /etc/rc.d/firewall /usr/local/lib

#
netshare為網卡初始化腳本,firewall為防火牆腳本,lib為庫連接文件=>/usr/lib(為CDlinux0.4.7版本iptables的一個bug,在CDlinux0.4.8版本不需要)
tar czPfc /mnt/CDlinux/cdlinux/extra/root-cdl.tgz /etc/passwd /etc/shadow /root/NetShareConfig

#passwd,shadow為修改過用戶后的口令相關文件(很重要),NetShareConfig為本文件自身(否則下次就不能使用了)

將其保存為/root/NetShareConfig

執行sh /root/NetShareConfig (執行后NetShareConfig就具備可執行屬性,下次直接執行就可以了),程序會生成以下文件並放置於硬碟cdlinux\\extra目錄下

netshare-cdl.tgz
rc.local-cdl.tgz
root-cdl.tgz

注意:修改任意配置文件,請保證測試正常后,一定執行本腳本,否則啟動后配置文件會丟失。

8、重新啟動計算機,看是否一切都正常。

當然,作為linux的CDlinux同標準linux一樣,功能遠不止這些,你還可以在其上安裝各種代理軟體,將其建成功能強大的集防火牆、透明代理為一身的系統。它還會常常被用來維護系統。至於你用它來作什麼,全由你決定。


[火星人 ] 用CDlinux做防火牆和上網共享已經有375次圍觀

http://coctec.com/docs/unix/show-post-73923.html