本文主要介紹利用Linux自帶的Firewall軟件包來構建軟路由的一種方法,此方法為內部網與外部網的互連提供了一種簡單、安全的實現途徑。Linux自帶的Firewall構建軟路由,主要是通過IP地址來控制訪問權限,較一般的代理服務軟件有更方便之處。
一、防火牆
防火牆一詞用在計算機網絡中是指用於保護內部網不受外部網的非法入侵的設備,它是利用網絡層的IP包過濾程序以及一些規則來保護內部網的一種策略,有硬件實現的,也有軟件實現的。
運行防火牆的計算機(以下稱防火牆)既連接外部網,又連接內部網。一般情況下,內部網的用戶不能直接訪問外部網,反之亦然。如果內部網用戶要訪問外部網,必須先登錄到防火牆,由防火牆進行IP地址轉換後,再由防火牆發送給外部網,即當內部網機器通過防火牆時,源IP地址均被設置(或稱偽裝,或稱欺騙)成外部網合法的IP地址。經偽裝以後,在外部網看來,內部網的機器是一個具有合法的IP地址的機器,因而可進行通信。外部網用戶要訪問內部網用戶時,也要先登錄到防火牆,經過濾後,僅通過允許的服務。
由此可見,防火牆在內部網與外部網之間起到了兩個作用:
(1)IP包過濾——保護作用;
(2)路由——網絡互連作用。
二、防火牆的安裝
1.硬件安裝
運行Linux防火牆的計算機上必須安裝有兩塊網卡或一塊網卡、一塊Modem卡。本文以兩塊網卡為例。安裝網卡,正確設置中斷號及端口號,並為各網卡分配合適的IP地址。
配置以後的防火牆模型。
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${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}
要測試網關設置情況,可以用“ifconfig”命令測試,運行該命令後,會顯示出eth0和eth1及上面我們修改的相關內容,如果沒有顯示這些相關信息,說明設置不正確,還要重新再來一次。
三、構建軟路由
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上運行通過。
——摘自:計算機世界