用Linux防火牆構建軟路由

2021-04-02 04:49:49 字數 2780 閱讀 5399

文主要介紹利用linux自帶的firewall軟體包來構建軟路由的一種方法,此方法為內部網與外部網的互連提供了一種簡單、安全的實現途徑。linux自帶的firewall構建軟路由,主要是通過ip位址來控制訪問許可權,較一般的**服務軟體有更方便之處。

一、防火牆

防火牆一詞用在計算機網路中是指用於保護內部網不受外部網的非法入侵的裝置,它是利用網路層的ip包過濾程式以及一些規則來保護內部網的一種策略,有硬體實現的,也有軟體實現的。

執行防火牆的計算機(以下稱防火牆)既連線外部網,又連線內部網。一般情況下,內部網的使用者不能直接訪問外部網,反之亦然。如果內部網使用者要訪問外部網,必須先登入到防火牆,由防火牆進行ip位址轉換後,再由防火牆傳送給外部網,即當內部網機器通過防火牆時,源ip位址均被設定(或稱偽裝,或稱欺騙)成外部網合法的ip位址。經偽裝以後,在外部網看來,內部網的機器是乙個具有合法的ip位址的機器,因而可進行通訊。外部網使用者要訪問內部網使用者時,也要先登入到防火牆,經過濾後,僅通過允許的服務。

由此可見,防火牆在內部網與外部網之間起到了兩個作用:

(1)ip包過濾——保護作用;

(2)路由——網路互連作用。

二、防火牆的安裝

1.硬體安裝

配置以後的防火牆模型。

2.安裝閘道器

安裝閘道器的方法有兩種:一種是執行linuxconf,進入routingandgateways選項,配置閘道器;另一種是修改rc.inet1檔案。下面介紹修改rc.inet1檔案的方法安裝閘道器。

進入/etc/rc.d/目錄,鍵入virc.inet1回車,參照下面內容修改:

ipaddr="202.114.194.130"#第一塊卡的外部網ip位址

netmask="255.255.255.128"#第一塊卡的外部網子網掩碼

network="202.114.194.0"#第一塊卡的外部網網段

broadcast="202.114.194.255"#第一塊卡的外部網廣播位址

gateway="202.114.194.129"#第一塊卡的外部網閘道器,也是

預設閘道器

ipaddr1="192.168.0.1"

#第二塊卡的內部網ip位址

netmask1="255.255.255.0"

#第二塊卡的內部網子網掩碼

network1="192.168.0.0"

#第二塊卡的內部網網段

broadcast1="192.168.0.255"

#第二塊卡的內部網廣播位址

/sbin/ifconfigeth0$

broadcast$metmask$

#設定第一塊卡

/sbin/ifconfigeth1$

broadcast$metmask$

#設定第二塊卡

/sbin/routeadd-net$

netmask$

/sbin/routeadddefaultgw$

metric1

/sbin/routeadd-net$

netmask$

三、構建軟路由

1.ip位址轉換

ip位址轉換也稱為ip位址偽裝或ip位址欺騙,也就是指當內部網機器登入到防火牆上時,防火牆將內部網ip(不合法的外部網ip位址)偽裝成合法的外部網ip位址,再與外部網通訊。ip位址偽裝的命令格式如下:

ipfwadm-f-amasquerade-d0.0.0.0/0-weth0

其中「-d0.0.0.0/0」表示允許對所有內部網ip位址進行轉換,「-weth0」表示內部網ip位址是通過網絡卡1進行轉換的。

ip位址偽裝設定完畢後,就可以在內部網機器上ping一下外部網的機器,如果防火牆上的forwarding沒有被關閉的話,就可以ping通了,說明配置一切正確。

2.設定訪問外部網的許可權

為了加強對網路的管理,有時要對內部網訪問外部網進行一定的限制,這種限制包括:(1)允許哪些機器可以上網;(2)允許訪問哪些站點。

限制上網機器可以參照以下指令碼:

ipfwadm-f-pdeny#全部拒絕內部網機器上網

ipfwadm-f-am-s192.168.0.5/32

-d0.0.0.0/0#允許192.168.0.5機器對

外部網的訪問

限制訪問站點,可以這樣設定:

ipfwadm-o-ireject-d0.0.0.0/0

#對外部網的所有站點加以

拒絕 ipfwadm-o-iaccept-d202.114.0.0/16

#允許訪問202.114.0.0~

202.114.255.255內的所有站點

上述設定中,「0.0.0.0/0」表示全部**,「202.114.0.0/16」表示202.114.0.0至202.114.255.255的所有站點。

3.統計ip包流量

ip包流量記賬的設定如下:

ipfwadm-a-f

/sbin/ipfwadm-a-f

/sbin/ipfwadm-aout-i-s192.168.0.0

/32-d0.0.0.0/0

#對所有流出包

統計 /sbin/ipfwadm-ain-i-s192.168.0.0

/32-d0.0.0.0/0

#對所有流入包

統計 所在記賬的統計都存放於/proc/net/ip_acct檔案中,其所有ip位址均為16進製表示。

以上所有指令碼,既可放置在/etc/rc.d檔案中,也可單獨設立shell指令碼,用命令sh執行。

以上設定均在redhat5.1上執行通過。

開源軟路由和防火牆pfSense

標籤 防火牆開源休閒 職場pfsense pfsense是一款功能強大的免費路由器軟體,它是在著名的路由器軟體monowall基礎上開發的,增加了許多monowall沒有的功能 pfsense的官方 稱它為the better monowall 嚴格說來,pfsense 是乙個免費的 開源的 經過改...

linux下用paramiko登入防火牆裝置

由於crt和xshell自帶的python不識別一些庫,crt只支援python2,目前沒有計畫支援python3。因此利用linux中安裝的python來實現一些指令碼。缺點 不如crt能夠立馬回顯看到指令碼執行的情況,要自己在裝置上show才能知道執行結果。import paramiko imp...

linux防火牆新增埠並開閉防火牆

安裝 yum install firewalld 啟動 systemctl start firewalld 檢視狀態 systemctl status firewalld 禁用,禁止開機啟動 systemctl disable firewalld 開機啟用 systemctl enable fire...