Linux如何利用路由轉(zhuǎn)發(fā)功能進行共享上網(wǎng)
Linux如何利用路由轉(zhuǎn)發(fā)功能進行共享上網(wǎng)
前面我們有提到,利用Linux可以變成一臺很好的路由器,今天學習啦小ian要介紹的是如何利用路由轉(zhuǎn)發(fā)功能來實現(xiàn)共享上網(wǎng),有興趣的朋友一起來學習下吧。
一、Linux 系統(tǒng)開啟IP轉(zhuǎn)發(fā)功能
Linux 系統(tǒng)要達到路由器功能,首先得打開Linux 系統(tǒng)內(nèi)核中的IP轉(zhuǎn)發(fā)功能。我們可以通過以下命令來查看是否開啟。less /proc/sys/net/ipv4/ip_forward該文件內(nèi)容為0,表示禁止數(shù)據(jù)包轉(zhuǎn)發(fā),1表示允許,將其修改為1。可使用命令echo “1” 》 /proc/sys/net/ipv4/ip_forward來啟用IP轉(zhuǎn)發(fā)路由功能。
但這種方式不能長期有效,只能保證當次有效,如果執(zhí)行重啟系統(tǒng)操作,那么又得重新執(zhí)行命令。因此,為了保證系統(tǒng)路由功能永久有效,用vi編輯器打開vi /etc/sysctl.conf配置文件,將net.ipv4.ip_forward = 0修改為1,保存后退出。這樣,每次重啟系統(tǒng)都不用重新設置內(nèi)核IP轉(zhuǎn)發(fā)了。
二、Linux 系統(tǒng)實現(xiàn)路由功能,共享上網(wǎng)
在LINUX系統(tǒng)下實現(xiàn)路由功能,兩種方法來實現(xiàn),一種是通過IPTABLES工具的NAT轉(zhuǎn)發(fā)功能,一種是使用IPROUTER2工具集中的IP ROUTE命令子集來實現(xiàn)。這兩種方法各有優(yōu)缺點,使用哪種方法,主要看你所在的網(wǎng)絡使用哪種方法連接互聯(lián)網(wǎng)。
IPTABLES工具適合動態(tài)IP地址以及固定公網(wǎng)IP地址方式,同時,還提供了網(wǎng)絡地址轉(zhuǎn)換功能,此功能不僅能使使用私有IP地址的內(nèi)網(wǎng)PC連接上互聯(lián)網(wǎng),而且還提供外網(wǎng)能過DNAT功能訪問處于內(nèi)網(wǎng)中的各種網(wǎng)絡服務,以用隱藏內(nèi)容IP網(wǎng)絡段,增加了安全性。IP ROUTE工具同樣適應與IPTABELS相同的兩種上網(wǎng)方式,但不能提供NAT功能。
不過,有許多特殊的網(wǎng)絡路由功能,是通過這兩個工具共同合作的才能實現(xiàn)的,例如,將要講到的策略路由、負載均衡、多WAN出口路由等。因此,筆者在此分別列出這個工具實現(xiàn)路由功能的命令內(nèi)容,其后,在介紹如何通過這兩個工具合作,完成更加高級的功能。
1、IPTABLES工具的NAT方式開啟LINUX路由功能,其通過動態(tài)拔號方式連接互聯(lián)網(wǎng)的命令如下所示:
# iptables -t nat -A POSTROUTING -d 192.168.1.0/24 -s 0/0 -o ppp0 -j MASQUERD
其中,ppp0是你拔號網(wǎng)絡接口名稱,在這之前,需要設置好與拔號相關(guān)的內(nèi)容,我們可以通過編輯/etc/sysconfig/network-scripts/ifcfg_ppp0配置文件來實現(xiàn)該功能。
通過固定公網(wǎng)IP地址方式連接互聯(lián)的實現(xiàn)方法如下:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 202.103.224.58
其中,這個固定公網(wǎng)IP地址是由當?shù)豂SP分配給你的,在這也是由筆者自行假設的,具體的IP地址得根據(jù)你所在ISP所在地來決定。
2、通過IP ROUTE工具來實現(xiàn)Linux系統(tǒng)的路由功能
通過動態(tài)拔號上網(wǎng)方式連接互聯(lián)網(wǎng)的命令如下所示產(chǎn):
# ip route add via ppp0 dev eth0
通過固定公網(wǎng)IP連接互聯(lián)網(wǎng)的命令如下所示:
# ip route add via 202.103.224.58 dev eth0
經(jīng)過以上兩種方法中的任何一種的設置,我們的LINUX系統(tǒng)就具有路由功能了。這樣,所處在局域網(wǎng)內(nèi)部的PC都能夠通過這臺LINUX路由器共享上網(wǎng)了,但前提條件是要設置這些局域網(wǎng)中的PC的IP地址為此IP地址段中的任何一個,但不能相同,192.168.1.2-192.168.1.254,同時,設置它們的網(wǎng)關(guān)地址全部為192.168.1.1,這是LINUX路由器中連接局域網(wǎng)網(wǎng)卡的IP地址。
由于我們設置的局域網(wǎng)中沒有使用DHCP服務器,在實現(xiàn)上網(wǎng)的過程中,所有的計算機都需要有用戶手工設置IP地址。
總結(jié)
利用Linux系統(tǒng)的路由功能來實現(xiàn)共享上網(wǎng),實現(xiàn)方法比較簡單,最重要的是這種實現(xiàn)方法不僅可以減少IP資源的占用,而且Linux對硬件的要求比較低,不像windows系統(tǒng)那樣對硬件有很高的要求。
上面就是利用Linux路由轉(zhuǎn)發(fā)功能實現(xiàn)共享上網(wǎng)的方法介紹了,這些都基于Linux能夠變成很好的路由器,如果你要實現(xiàn)共享上網(wǎng)的話,不妨試試本文介紹的方法吧。