新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用Linux防火墻構(gòu)建軟路由

用Linux防火墻構(gòu)建軟路由

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

文主要介紹利用Linux自帶的Firewall軟件包來構(gòu)建軟路由的一種方法,此方法為內(nèi)部網(wǎng)與外部網(wǎng)的互連提供了一種簡單、安全的實(shí)現(xiàn)途徑。Linux自帶的Firewall構(gòu)建軟路由,主要是通過IP地址來控制訪問權(quán)限,較一般的代理服務(wù)軟件有更方便之處。

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

一、防火墻

防火墻一詞用在計(jì)算機(jī)網(wǎng)絡(luò)中是指用于保護(hù)內(nèi)部網(wǎng)不受外部網(wǎng)的非法入侵的設(shè)備,它是利用網(wǎng)絡(luò)層的IP包過濾程序以及一些規(guī)則來保護(hù)內(nèi)部網(wǎng)的一種策略,有硬件實(shí)現(xiàn)的,也有軟件實(shí)現(xiàn)的。

運(yùn)行防火墻的計(jì)算機(jī)(以下稱防火墻)既連接外部網(wǎng),又連接內(nèi)部網(wǎng)。一般情況下,內(nèi)部網(wǎng)的用戶不能直接訪問外部網(wǎng),反之亦然。如果內(nèi)部網(wǎng)用戶要訪問外部網(wǎng),必須先登錄到防火墻,由防火墻進(jìn)行IP地址轉(zhuǎn)換后,再由防火墻發(fā)送給外部網(wǎng),即當(dāng)內(nèi)部網(wǎng)機(jī)器通過防火墻時(shí),源IP地址均被設(shè)置(或稱偽裝,或稱欺騙)成外部網(wǎng)合法的IP地址。經(jīng)偽裝以后,在外部網(wǎng)看來,內(nèi)部網(wǎng)的機(jī)器是一個(gè)具有合法的IP地址的機(jī)器,因而可進(jìn)行通信。外部網(wǎng)用戶要訪問內(nèi)部網(wǎng)用戶時(shí),也要先登錄到防火墻,經(jīng)過濾后,僅通過允許的服務(wù)。

由此可見,防火墻在內(nèi)部網(wǎng)與外部網(wǎng)之間起到了兩個(gè)作用:

(1)IP包過濾——保護(hù)作用;

(2)路由——網(wǎng)絡(luò)互連作用。

二、防火墻的安裝

1.硬件安裝

運(yùn)行Linux防火墻的計(jì)算機(jī)上必須安裝有兩塊網(wǎng)卡或一塊網(wǎng)卡、一塊Modem卡。本文以兩塊網(wǎng)卡為例。安裝網(wǎng)卡,正確設(shè)置中斷號及端口號,并為各網(wǎng)卡分配合適的IP地址。

配置以后的防火墻模型。

2.安裝網(wǎng)關(guān)

安裝網(wǎng)關(guān)的方法有兩種:一種是運(yùn)行l(wèi)inuxconf,進(jìn)入ROUTINGANDGATEWAYS選項(xiàng),配置網(wǎng)關(guān);另一種是修改rc.inet1文件。下面介紹修改rc.inet1文件的方法安裝網(wǎng)關(guān)。

進(jìn)入/etc/rc.d/目錄,鍵入virc.inet1回車,參照下面內(nèi)容修改:

IPADDR=202.114.194.130#第一塊卡的外部網(wǎng)IP地址

NETMASK=255.255.255.128#第一塊卡的外部網(wǎng)子網(wǎng)掩碼

NETWORK=202.114.194.0#第一塊卡的外部網(wǎng)網(wǎng)段

BROADCAST=202.114.194.255#第一塊卡的外部網(wǎng)廣播地址

GATEWAY=202.114.194.129#第一塊卡的外部網(wǎng)網(wǎng)關(guān),也是

默認(rèn)網(wǎng)關(guān)

IPADDR1=192.168.0.1

#第二塊卡的內(nèi)部網(wǎng)IP地址

NETMASK1=255.255.255.0

#第二塊卡的內(nèi)部網(wǎng)子網(wǎng)掩碼

NETWORK1=192.168.0.0

#第二塊卡的內(nèi)部網(wǎng)網(wǎng)段

BROADCAST1=192.168.0.255

#第二塊卡的內(nèi)部網(wǎng)廣播地址

/sbin/ifconfigeth0${IPADDR}

broadcast${BROADCAST}metmask${NETMASK}

#設(shè)置第一塊卡

/sbin/ifconfigeth1${IPADDR1}

broadcast${BROADCAST1}metmask$

{NETMASK1}

#設(shè)置第二塊卡

/sbin/routeadd-net${NETWORK}

netmask${NETMASK}

/sbin/routeadddefaultgw$

{GATEWAY}metric1

/sbin/routeadd-net${NETWORK1}

netmask${NETMASK1}

要測試網(wǎng)關(guān)設(shè)置情況,可以用“ifconfig”命令測試,運(yùn)行該命令后,會顯示出eth0和eth1及上面我們修改的相關(guān)內(nèi)容,如果沒有顯示這些相關(guān)信息,說明設(shè)置不正確,還要重新再來一次。

三、構(gòu)建軟路由

1.IP地址轉(zhuǎn)換

IP地址轉(zhuǎn)換也稱為IP地址偽裝或IP地址欺騙,也就是指當(dāng)內(nèi)部網(wǎng)機(jī)器登錄到防火墻上時(shí),防火墻將內(nèi)部網(wǎng)IP(不合法的外部網(wǎng)IP地址)偽裝成合法的外部網(wǎng)IP地址,再與外部網(wǎng)通信。IP地址偽裝的命令格式如下:

ipfwadm-F-amasquerade-D0.0.0.0/0-Weth0

其中“-D0.0.0.0/0”表示允許對所有內(nèi)部網(wǎng)IP地址進(jìn)行轉(zhuǎn)換,“-Weth0”表示內(nèi)部網(wǎng)IP地址是通過網(wǎng)卡1進(jìn)行轉(zhuǎn)換的。

IP地址偽裝設(shè)置完畢后,就可以在內(nèi)部網(wǎng)機(jī)器上ping一下外部網(wǎng)的機(jī)器,如果防火墻上的forwarding沒有被關(guān)閉的話,就可以ping通了,說明配置一切正確。

2.設(shè)定訪問外部網(wǎng)的權(quán)限

為了加強(qiáng)對網(wǎng)絡(luò)的管理,有時(shí)要對內(nèi)部網(wǎng)訪問外部網(wǎng)進(jìn)行一定的限制,這種限制包括:(1)允許哪些機(jī)器可以上網(wǎng);(2)允許訪問哪些站點(diǎn)。

限制上網(wǎng)機(jī)器可以參照以下腳本:

ipfwadm-F-pdeny#全部拒絕內(nèi)部網(wǎng)機(jī)器上網(wǎng)

ipfwadm-F-am-S192.168.0.5/32

-d0.0.0.0/0#允許192.168.0.5機(jī)器對

外部網(wǎng)的訪問

限制訪問站點(diǎn),可以這樣設(shè)置:

ipfwadm-O-ireject-D0.0.0.0/0

#對外部網(wǎng)的所有站點(diǎn)加以

拒絕

ipfwadm-O-iaccept-D202.114.0.0/16

#允許訪問202.114.0.0~

202.114.255.255內(nèi)的所有站點(diǎn)

上述設(shè)置中,“0.0.0.0/0”表示全部網(wǎng)址,“202.114.0.0/16”表示202.114.0.0至202.114.255.255的所有站點(diǎn)。

3.統(tǒng)計(jì)IP包流量

IP包流量記賬的設(shè)置如下:

ipfwadm-A-f

/sbin/ipfwadm-A-f

/sbin/ipfwadm-Aout-I-S192.168.0.0

/32-D0.0.0.0/0

#對所有流出包

統(tǒng)計(jì)

/sbin/ipfwadm-Ain-I-S192.168.0.0

/32-D0.0.0.0/0

#對所有流入包

統(tǒng)計(jì)

所在記賬的統(tǒng)計(jì)都存放于/proc/net/ip_acct文件中,其所有IP地址均為16進(jìn)制表示。

以上所有腳本,既可放置在/etc/rc.d文件中,也可單獨(dú)設(shè)立shell腳本,用命令sh執(zhí)行。

以上設(shè)置均在RedHat5.1上運(yùn)行通過。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉