開發環境:
主機:Ubuntu12.04
開發板:RT5350
Openwrt:Openwrt15.05
1 OpenWrt 內置防火墻介紹
Openwrt 是一個 GNU/Linux 的發行版, 和其他大多數的發行版一樣,Openwrt 的防火墻同樣也是基于 iptables。 在 OpenWRT 下防火墻的默認行為已經可以滿足路由器的需要,一般情況下也無需修改。
OpenWrt 關于 NAT、 DMZ、防火墻規則等等都是由配置文件 /etc/config/firewall 文件進行控制的,有關于什么是 NAT 或者 DMZ 等內容,下文會講到。對于防火墻的修改工作,我們采用 vi 進行直接的文件編輯完成。
防火墻文件總會在/etc/init.d/firewall 啟動的時候由 UCI 進行解碼并且生成 iptables規則生效。因此使用者不需要了解 iptables 即可通過配置文件實現防火墻控制。防火墻的修改生效,需要重啟防火墻執行以下指令:
#/etc/init.d/firewall reload
或執行:
#/etc/init.d/firewall restart
查看當前 iptables 的已啟用策略語法為:
#iptables -L
2 防火墻文件內容分析
我們打開防火墻文件查看一下:
#vi /etc/config/firewall
- 我們可以看到第一部分的內容(默認參數表):
這里是防火墻默認的參數表,其內容和相應的動作可以有如下選擇:
防火墻文件這方面的內容為:
syn_flood 1 表示: 是否啟用防洪水攻擊。可選值: 0 關閉,1 啟用。
input ACCEPT 表示: 設置 INPUT 鏈(chain)的過濾策略,可選值: ACCEPT 允許, REJECT拒絕。
output ACCEPT 表示: 設置 OUTPUT 鏈(chain)的過濾策略,可選值: ACCEPT 允許,REJECT 拒絕。
forward REJECT 是 設置 FORWARD 鏈(chain)的過濾策略,可選值: ACCEPT 允許,REJECT 拒絕。
disable_ipv6 1 表示: 設置關閉掉 IPv6 的防火墻策略,可選值: 0 忽略,1 關閉
這部分參考值既是系統默認的即可,無需修改:
- 防火墻的第二個內容(域):
config 后面是表示配置項的名稱,這里”zone”為域的意思。
name 表示域的名字,必須是唯一值,可選值: wan, lan
network 表示網絡列表,用來指示哪些接口被捆綁到這個域中,可選接口的名稱,比如: lan,
wan, wan6
input ACCEP 允許 INPUT 鏈(chain)的過濾策略
output ACCEPT 允許 OUTPUT 鏈(chain)的過濾策略
forward ACCEPT 允許 FORWARD 鏈(chain)的過濾策略
masq 1 表示: 設置傳輸偽裝,如果是 WAN 口必須為 1
mtu_fix 1 表示: 設置 MTU 的 MSS 鉗制,如果是 WAN 口請為 1
簡單來說:
mtu 是網絡傳輸最大報文包。
mss 是網絡傳輸數據最大值。
mss 加包頭數據就等于 mtu.
這部分的設置作用如下:
A zone section groups one more interfaces and serves as a source or destination for forwardings, rules and redirects. Masquerading (NAT) of outgoing traffic is controlled on a per-zone basis.
- 防火墻的第三部分內容(轉發) :
src lan 是 設置轉發來源
dest wan 是 設置轉發目標
這部分作用描述如下:
The forwarding sections control the traffic flow between zones and may enable MSS clamping for specific directions. Only one direction is covered by a forwarding rule. To allow bidirectional traffic flows between two zones, two forwardings are required, with src and dest reversed in each.
- 防火墻的第四部分內容(規則):
這里只是羅列出了幾個防火墻的規則,其實防火墻規則在/etc/config/firewall 中可以有任意數量的規則,這些規則定義了數據傳輸的動作和行為是被允許還是拒絕。
對于防火墻規則的作用描述如下:
Sections of the type rule can be used to define basic accept or reject rules to allow or restrict access to specific ports or hosts. Like redirects the rules are tied to the given source zone and match incoming traffic occuring there.
我們再解釋一下防火墻規則的相應選項的意思:
name 表示:設置當前這個 rule 的名稱
target 表示:設置防火墻動作,可選值: ACCEPT 許可, REJECT 拒絕, DROP 拋棄
src 表示: 數據源的 zone 域是哪個。可選值: wan / lan
src_ip 表示:數據源的 IP 地址是哪個。
src_mac 表示:數據源的 MAC 地址是哪個。
src_port 表示:數據源的端口,可以是一個端口,或一個端口范圍,但是必須同時指定了協議類型
proto 表示: 數據源的協議類型, 可選值: tcp, udp, tcpudp, udplit, icmp, esp, ah, sctp,
或 all 表示全部
dest 表示:數據目標的 zone 域是哪個。可選值: wan / lan
dest_ip 表示:數據目標的 IP 地址。
dest_port 表示:數據目標的端口,可以是一個端口,或一個端口范圍,但是必須同時指定了協議類型
family 表示:數據的協議族,可選值: ipv4, ipv6, any
rule 規則設置可以靈活,比如允許來自 WAN 口的 ping,例:
config rule
option name Allow-Ping
option src wan
option proto icmp
option icmp_type echo-request
option family ipv4
option target ACCEPT
- 防火墻的第五部分內容
OpenWrt 防火墻允許使用者通過 WAN 口訪問特定的端口重定向給局域網的一臺電腦設備(比如 WAN 口訪問 80 端口(HTTP)將重定向給局域網某臺網站服務器)。 端口重定向是在防火墻配置/etc/config/firewall 中定義 redirect 段策略實現的。所有匹配的來源數據將根據目標設置轉發到目標主機上。 firewall 配置中可以有多個 redirect 策略,默認是沒有開放任何重定向的,如果你需要重定向請使用 vi 或 UCI 進行配置。
name 表示:設置當前這個 redirect 的名稱
src 表示:轉發源的 zone 域,一般轉發都是轉發從 wan 過來的訪問
src_ip 表示:轉發源的 IP 地址指定
src_mac 表示:轉發源的 MAC 地址指定
src_port 表示:轉發源的端口指定
proto 表示: 轉發源的協議類型, 可選值: tcp, udp, tcpudp, udplit, icmp, esp, ah, sctp, 或
all 表示全部
dest 表示:轉發目標的 zone 域
dest_ip 表示:轉發目標的 IP 地址指定
dest_mac 表示:轉發目標的 MAC 地址指定
dest_port 表示:轉發目標的端口指定
端口重定向的可配置性很靈活。比如我們將 9020 這個端口轉發給內網一臺服務器的 80 端口,如下:
config redirect
option name '9020-80'
option proto 'tcp'
option src 'wan'
option src_dport '9020'
option dest 'lan'
option dest_ip '192.168.1.100'
option dest_port '80'
3 DMZ 介紹
DMZ 是英文“ demilitarized zone”的縮寫,中文名稱為“隔離區”,也稱“非軍事化區”。它是為了解決安裝防火墻后外部網絡不能訪問內部網絡服務器的問題,而設立的一個非安全系統與安全系統之間的緩沖區,這個緩沖區位于企業內部網絡和外部網絡之間的小網絡區域內,在這個小網絡區域內可以放置一些必須公開的服務器設施,如企業 Web 服務器、FTP 服務器和論壇等。另一方面,通過這樣一個 DMZ 區域,更加有效地保護了內部網絡,因為這種網絡部署,比起一般的防火墻方案,對攻擊者來說又多了一道關卡。端口映射與 DMZ 的區別在于:端口映射只是映射指定的端口,DMZ 相當于映射所有的端口,并且直接把主機暴露在網關中,比端口映射方便但是不安全。
下面是關于 dmz 的一個示意圖:
好的,結合之前簡單的規則部分,這里我們給出一個將電腦 192.168.1.2 設置 DMZ 隔離區的例子:
Simple DMZ rule
The following rule redirects all WAN ports for all protocols to the internal host
192.168.1.2.
config redirect
option src wan
option proto all
option dest_ip 192.168.1.2
審核編輯:湯梓紅
-
防火墻
+關注
關注
0文章
417瀏覽量
35610 -
主機
+關注
關注
0文章
994瀏覽量
35127 -
開發板
+關注
關注
25文章
5047瀏覽量
97442 -
開發環境
+關注
關注
1文章
225瀏覽量
16617 -
OpenWrt
+關注
關注
10文章
130瀏覽量
39302
發布評論請先 登錄
相關推薦
評論