新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用Linux防火墻構建軟路由

        用Linux防火墻構建軟路由

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

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

        本文引用地址:http://www.104case.com/article/201609/304896.htm

        一、防火墻

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

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

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

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

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

        二、防火墻的安裝

        1.硬件安裝

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

        配置以后的防火墻模型。

        2.安裝網(wǎng)關

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

        進入/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)關,也是

        默認網(wǎng)關

        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}

        #設置第一塊卡

        /sbin/ifconfigeth1${IPADDR1}

        broadcast${BROADCAST1}metmask$

        {NETMASK1}

        #設置第二塊卡

        /sbin/routeadd-net${NETWORK}

        netmask${NETMASK}

        /sbin/routeadddefaultgw$

        {GATEWAY}metric1

        /sbin/routeadd-net${NETWORK1}

        netmask${NETMASK1}

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

        三、構建軟路由

        1.IP地址轉換

        IP地址轉換也稱為IP地址偽裝或IP地址欺騙,也就是指當內(nèi)部網(wǎng)機器登錄到防火墻上時,防火墻將內(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地址進行轉換,“-Weth0”表示內(nèi)部網(wǎng)IP地址是通過網(wǎng)卡1進行轉換的。

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

        2.設定訪問外部網(wǎng)的權限

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

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

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

        ipfwadm-F-am-S192.168.0.5/32

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

        外部網(wǎng)的訪問

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

        ipfwadm-O-ireject-D0.0.0.0/0

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

        拒絕

        ipfwadm-O-iaccept-D202.114.0.0/16

        #允許訪問202.114.0.0~

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

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

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

        IP包流量記賬的設置如下:

        ipfwadm-A-f

        /sbin/ipfwadm-A-f

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

        /32-D0.0.0.0/0

        #對所有流出包

        統(tǒng)計

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

        /32-D0.0.0.0/0

        #對所有流入包

        統(tǒng)計

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

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

        以上設置均在RedHat5.1上運行通過。



        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 娄底市| 远安县| 洪泽县| 仙游县| 道孚县| 渭南市| 惠州市| 高平市| 通化市| 灵台县| 阿城市| 连山| 苏尼特左旗| 夏河县| 邵阳市| 永登县| 银川市| 邮箱| 高淳县| 浦城县| 高青县| 蒙城县| 梨树县| 绥滨县| 阿尔山市| 施秉县| 织金县| 谷城县| 凌海市| 黑龙江省| 承德县| 米易县| 长岭县| 秦安县| 蓝田县| 北京市| 黄浦区| 崇阳县| 平塘县| 晋中市| 喀什市|