新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Shorewall的單用戶簡單設置

Shorewall的單用戶簡單設置

作者: 時間:2016-09-12 來源:網絡 收藏

一、防火墻基本知識:

本文引用地址:http://2s4d.com/article/201609/303838.htm

除了軟件和硬件防火墻的分類外,如果以封包抵擋機制來分類,大概可以分為proxy和IP Filter。

基本上的IP Filter有兩個最基本的防火墻機制,分別是:Ip Filter和TCP_Wrapper。

這里我們談IP Filter,因為shorewall可以通過IPTABLES簡單設置IP Filter的規(guī)則。

或者說:如果你不麻煩iptables的語法規(guī)則,或者可以自己寫一些shell程序批處理iptables指令,完全可以不安裝shorewall或者其他防火墻。因為下的防火墻基本都是通過設置iptables的規(guī)則完成的。

1.首先確定(uname指令確定核心,lsmod確定當前載入模塊,如果是ipchains,請執(zhí)行rmmod ipchains。 然后modprobe ip_tables即可將iptables裝入現在使用的模塊)你的內核是采用哪種抵擋機制,是不是我們需要的iptables(Ubuntu5.10的是iptables)

Linux Kernel Version 2.0:使用 ipfwadm

Linux Kernel Version 2.2:使用的是 ipchains

Linux Kernel Version 2.4:主要是使用 iptables 但為了兼容 ipchains ,因此Version 2.4 版本中,同時將 ipchains 編譯成模組供使用,好讓使用者仍然可以使用磣 2.2 版的 ipchains 的防火墻規(guī)則。

---------------

然后執(zhí)行下面代碼來觀看現在的防火墻規(guī)則(聯網情況下,root用戶)

$ sudo iptables -L -n (L的含義是列出目前的 table 的規(guī)則,n含義是不進行IP與HOSTNAME的相互轉換,這樣可以加快顯示速度)

$ sudo iptables -t nat -L -n (-t nat的含義是顯示nat的filter。iptables會有nat tables和filter tables,不加參數為filter。有興趣的兄弟可以參看其他關于iptables的介紹,介于太長,此處不做介紹;)

---------------

接下來我們就要清除掉現在所有的防火墻規(guī)則(聯網情況下)

root@*** root]# /sbin/iptables [-t tables] [-FXZ]

其中參數含義為:

-F :清除所以已經建立的規(guī)則;

-X :殺掉所有使用者建立的 chain ( tables );

-Z :把所有的 chain 的計數和流量統(tǒng)計歸為0;

例:

[root@*** root]# /sbin/iptables -F

[root@*** root]# /sbin/iptables -X

[root@*** root]# /sbin/iptables -Z

[root@*** root]# /sbin/iptables -t nat -F

---------------

二、具體安裝Shorewall3.0.4

下載shorewall最新的穩(wěn)定版本3.0.4(tarball安裝,即為源代碼make安裝。確定你的機器跟隨‘新手指南’裝了基本編譯工具),由于新立得里面還是2.多的版本,在官方網站看的是3的介紹,所以安裝3.0.4。而且安裝很簡單,不會出現其他依賴性問題.

------------

1.下載地址:http://www1.shorewall.net/pub/shorewall/3.0/shorewall-3.0.4/

2.安裝前需要:iptables(前面提到的)+iproute (檢查這個的指令是sudo Which ip )(基本上ubuntu5.10都具備了,所以可以不考慮)

3.盡量不要在ms-windows里面編輯shorewall的配置文件,因為ms和lin的文字排版不太一樣,比如回車。

4.cd到你解壓之后的目錄,然后./install.sh 回車,看見沒有錯誤信息,就OK了。但是此刻shorewall沒有啟動。等會兒我們來啟動。默認安裝之后就是每次啟動就自動啟動防火墻(設置文件在 /etc/shorewall/shorewall.conf。找到STARTUP_ENABLED=Yes

,yes代表開機自動啟動!)

5.安裝之后所有文件分別位于:/usr/shorewall 和/sbin 和 /etc/shorewall,我們需要注意的就是/etc/shorewall。這里是配置文件。(個人建議,對于一些重要的,經常不需要變動的文件可以將隱藏屬性chattr +i 上去,具體指令信息,請找‘男人’man )

6.查看安裝后的版本:sudo shorewall version 可以得到3.0.4的消息

三、配置Shorewall3.0.4

詳細的官方文檔位于:http://www.shorewall.net/Documentation.htm ,shorewall的文件很多,但是一般用戶用到的不多,特別是我們這種單機撥號的用戶。

-------------

1.首先配置/etc/shorewall/zones文件,瀏覽至最后,添加代碼如下:

#ZONE TYPE OPTIONS

fw firewall #文件原本存在的這行,fw為防火墻本身,必須

net ipv4

loc ipv4

#LAST LINE -- DO NOT REMOVE

其中關于各個type,options的解釋,該配置文件前面部分有,大家如果嚴格要求,可以參照文件配置,一般用戶配置成上面就可以了。

2.配置/etc/shorewall/interfaces

(這里用到的ZONE的名字是在上個文件/etc/shorewall/zones中定義的名字,所以順序不要弄錯了。這種zone名字的方法是比較簡單的,推薦這種方法。)

#ZONE INTERFACE BROADCAST OPTIONS

net ppp0

#LAST LINE -- DO NOT REMOVE

同樣配置文件對各個參數進行了詳盡的解釋

--------------

3.配置/etc/shorewall/rules 和 /etc/shorewall/policy

關系: policy是定義默認的策略給所有的連接(從一個zone到另外一個zone, 比如我們定義的從loc到net);

rules是定義特殊的防火墻規(guī)則,即是policy里面沒有的。

先后條件:任何連接,防火墻先檢查rules,如果rule中沒有關于這個連接要求的描述,就調用policy的默認配置。

/etc/shorewall/policy的配置如下(默認)

#SOURCE ZONE DESTINATION ZONE POLICY LOG LIMIT:BURST

# LEVEL

loc net ACCEPT

net all DROP info

all all REJECT info

#LAST LINE -- DO NOT REMOVE

我一般改為下面,省得每次開端口麻煩。

fw net ACCEPT

net all DROP info

all all REJECT info

上面的含義是允許本機所有連接網絡的要求;網絡連接到我的所有zones(比如防火墻fw,本地loc)都丟棄該連接要求的tcp封包,并記入日志。拒絕所有連接要求并記入日志(當連接被拒絕了,防火墻就會返回一個RST (加入協(xié)議是TCP) 或者一個 ICMP端口不能到達的包給其他協(xié)議)


上一頁 1 2 下一頁

關鍵詞: unix linux

評論


相關推薦

技術專區(qū)

關閉
×

Digikey let's do
· 2025年第1期限时报名开启,5月8日截止
· Digikey助力,提供一站式免费器件支持
· 跟大佬一起 【DIY 功率监测与控制系统】