新聞中心
在現(xiàn)代網(wǎng)絡(luò)架構(gòu)中,網(wǎng)關(guān)服務(wù)器承擔(dān)著非常重要的任務(wù),它是整個(gè)網(wǎng)絡(luò)中最為關(guān)鍵的設(shè)備之一。通過(guò)搭建Linux網(wǎng)關(guān)服務(wù)器,可以讓您更好地掌控整個(gè)網(wǎng)絡(luò),更精準(zhǔn)地進(jìn)行網(wǎng)絡(luò)安全控制,使您的網(wǎng)絡(luò)更加安全。

創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專(zhuān)注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開(kāi)發(fā),軟件開(kāi)發(fā),小程序設(shè)計(jì),十余年建站對(duì)混凝土攪拌罐車(chē)等多個(gè)方面,擁有豐富的網(wǎng)站維護(hù)經(jīng)驗(yàn)。
本文將介紹如何在Ubuntu系統(tǒng)上搭建一個(gè)高效穩(wěn)定的Linux網(wǎng)關(guān)服務(wù)器,希望能對(duì)大家有所幫助。
一、安裝Ubuntu系統(tǒng)
由于本文是針對(duì)Ubuntu系統(tǒng)進(jìn)行的,因此我們首先需要安裝Ubuntu系統(tǒng),可以直接從Ubuntu官網(wǎng)上下載最新版本的Ubuntu系統(tǒng),并按照官方安裝步驟進(jìn)行安裝即可。
二、安裝必要的軟件
1、安裝Squid
Squid是一款開(kāi)源的代理服務(wù)器,可以幫助我們更好地實(shí)現(xiàn)代理功能,從而實(shí)現(xiàn)更好的網(wǎng)絡(luò)訪問(wèn)管理。在Ubuntu下安裝Squid非常簡(jiǎn)單,只需要運(yùn)行以下命令即可:
sudo apt-get install squid
2、安裝IPtables
IPtables是一款非常強(qiáng)大的Linux防火墻解決方案,在Ubuntu系統(tǒng)中也非常容易進(jìn)行安裝。只需要一行命令即可完成安裝:
sudo apt-get install iptables
三、配置Squid代理服務(wù)器
1、配置Squid代理服務(wù)器
在安裝完成Squid代理服務(wù)器后,我們需要對(duì)其進(jìn)行相應(yīng)的配置,以便更好地進(jìn)行訪問(wèn)管理。我們需要在Squid配置文件中添加我們希望代理的端口號(hào),該文件路徑為/etc/squid/squid.conf:
acl Safe_ports port 80 8080
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128
我們可以在配置文件中加入上述代碼進(jìn)行設(shè)置。其中,3128是我們配置的代理端口號(hào),可以根據(jù)實(shí)際需求進(jìn)行調(diào)整。
2、使用Squid進(jìn)行代理
安裝并配置好Squid后,我們就可以很輕松地進(jìn)行代理了。只需要將我們需要代理的客戶(hù)端的代理設(shè)置為我們剛剛配置的端口號(hào)即可。例如,我們將瀏覽器代理設(shè)置為3128,那么瀏覽器之后的所有請(qǐng)求都會(huì)被代理服務(wù)器攔截并進(jìn)行相應(yīng)的處理。
四、配置防火墻
無(wú)論是在任何系統(tǒng)中,防火墻都是網(wǎng)絡(luò)安全保障的核心之一。在Linux中,IPtables是非常常用的防火墻,因此我們需要對(duì)其進(jìn)行相應(yīng)的配置以確保網(wǎng)絡(luò)的安全性。
1、配置IPtables
在Ubuntu中,IPtables的配置文件路徑為/etc/network/iptables,如果該文件不存在,則可以通過(guò)以下命令創(chuàng)建:
sudo touch /etc/network/iptables
然后,可以通過(guò)下列的命令進(jìn)行相應(yīng)的設(shè)置:
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m state –state NEW -m tcp –dport 3128 -j ACCEPT
通過(guò)上述設(shè)置,我們可以非常輕松地完成整個(gè)防火墻的配置,確保網(wǎng)絡(luò)在被入侵的情況下能夠更好地保持其完整性。
2、保存IPtables設(shè)置
在完成IPtables配置后,我們需要持久保存其設(shè)置,可以通過(guò)以下命令進(jìn)行保存:
sudo apt-get install iptables-persistent
運(yùn)行上述命令后,保存設(shè)置即可。
五、配置局域網(wǎng)
通過(guò)以上的一系列操作,我們已經(jīng)成功地搭建了Linux網(wǎng)關(guān)服務(wù)器。但是,我們還需要在服務(wù)器上配置局域網(wǎng),以便更好地實(shí)現(xiàn)整個(gè)局域網(wǎng)中各個(gè)節(jié)點(diǎn)之間的訪問(wèn)與交流。
1、配置DHCP服務(wù)器
DHCP服務(wù)器是一款可以動(dòng)態(tài)分配IP地址的服務(wù)器,可以幫助我們更加靈活地配置整個(gè)局域網(wǎng)。在Ubuntu中,安裝DHCP服務(wù)器非常簡(jiǎn)單,只需要依次運(yùn)行以下命令即可:
sudo apt-get update
sudo apt-get install isc-dhcp-server
安裝完成后,我們還需要對(duì)其進(jìn)行相應(yīng)的配置,可以通過(guò)/etc/dhcp/dhcpd.conf文件進(jìn)行配置。
2、配置IP地址和子網(wǎng)掩碼
配置完成DHCP服務(wù)器后,我們還需要配置IP地址和子網(wǎng)掩碼以確保整個(gè)局域網(wǎng)能夠更加穩(wěn)定地運(yùn)行。我們可以通過(guò)以下命令設(shè)定IP地址和子網(wǎng)掩碼:
sudo ifconfig enp1s0 192.168.1.1 netmask 255.255.255.0
3、配置默認(rèn)路由
除了配置IP地址和子網(wǎng)掩碼外,我們還需要設(shè)定默認(rèn)路由,以確保網(wǎng)絡(luò)中的數(shù)據(jù)能夠正常流轉(zhuǎn)??梢酝ㄟ^(guò)以下命令配置默認(rèn)路由:
sudo route add default gw 192.168.1.254
以上為對(duì)LInux網(wǎng)關(guān)服務(wù)器進(jìn)行配置的基本步驟,需要根據(jù)實(shí)際需求進(jìn)行定制。希望本文對(duì)您有所幫助,讓您更好地理解如何搭建Linux網(wǎng)關(guān)服務(wù)器,更好地保護(hù)您的網(wǎng)絡(luò)安全。
相關(guān)問(wèn)題拓展閱讀:
- linux雙網(wǎng)服務(wù)器架設(shè)教程(高分求)
- 怎么搭建一個(gè)可以被外網(wǎng)訪問(wèn)的linux web服務(wù)器
linux雙網(wǎng)服務(wù)器架設(shè)教程(高分求)
跟個(gè)油箱
LINUX下雙網(wǎng)雙線(xiàn)服務(wù)器的架設(shè)全過(guò)程
目的: 現(xiàn)在很多中小型網(wǎng)絡(luò)有兩條或者多條相同的不同的ISP的網(wǎng)絡(luò)出口線(xiàn)路
而如何將這兩條線(xiàn)路合理的利用起來(lái) 是很多人非常關(guān)心的
西旦局安秀網(wǎng)吧資訊會(huì)為大家提供更多更好的學(xué)習(xí)資料和知
此文用通俗易懂的方法的講解了如何初步達(dá)到此目的 本方案不需要大量的投資
也不需要改變現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu) 并且可擴(kuò)展性好! 環(huán)境:用基于LINUX路由功能 由2.2內(nèi)核開(kāi)始,
Linux便開(kāi)始支持高級(jí)路由技術(shù),提供策略路由,流量控制等多項(xiàng)高級(jí)路由功能,
配合Netfilter包過(guò)濾軟件,可實(shí)現(xiàn)許多專(zhuān)業(yè)路由器和防火墻才能實(shí)現(xiàn)的高級(jí)功能
本方案采用RedHat 9.0 系統(tǒng)基礎(chǔ) 系統(tǒng)自帶 IPTABLES 和 IPROUTER2 軟件,
申明:本方案為了表達(dá)一個(gè)通俗易懂的稱(chēng)述 很多地方采用大白話(huà)方式進(jìn)行說(shuō)液遲梁明,
這對(duì)技術(shù)來(lái)說(shuō)是不嚴(yán)謹(jǐn)?shù)膽B(tài)度,并且在文中可能出現(xiàn)很多錯(cuò)誤,歡迎指正
希望有更多人能使用此方案而達(dá)到自己的目的 可以用在論壇上聯(lián)系,
寫(xiě)的很亂還請(qǐng)大家見(jiàn)諒!
約定:對(duì)于具體#作,都是基于Shell下的,就是所謂終端,控制臺(tái)
我將用橫線(xiàn)閣開(kāi),可以看成實(shí)際的#作,后面的針對(duì)解釋 均采用漢字通俗解
但不能作為實(shí)際#作!
一、 硬件選擇和實(shí)施:
1。本人在實(shí)際#作中選擇了 C3 1G CPU INTEL 815ET芯片組主板(集成顯卡) 128M SDRAM 三張網(wǎng)卡 均是RTL/100M 自適應(yīng)網(wǎng)卡 3G大小心的一塊老硬盤(pán) RedHat 9.0系統(tǒng)盤(pán) 光驅(qū) 鍵盤(pán) 鼠標(biāo) 顯示器|
為安裝使用 過(guò)后拆掉,在各個(gè)實(shí)際環(huán)境里 選擇方案不一定要相同 ,但是本人建議 CPU 不低于233M 內(nèi)存不低于64M 網(wǎng)卡盡量不用8029等10M 設(shè)備,如果有條件可以選擇不同的主流網(wǎng)卡 其他 主是要求穩(wěn)定
2。安裝系統(tǒng) 根據(jù)硬盤(pán)大小以及個(gè)人情況 可任意方式安裝 提示以及建議:
A : 如果分區(qū)不是很清楚 可以用 光盤(pán)上的PQ 將硬盤(pán)分區(qū) 之一次接觸的,采用 將6G以下的空間分成EXT3格式的分區(qū) 然后接著一256M左右的SWP交換分區(qū)
B。 網(wǎng)卡先別一次性裝上, 可先將要用于內(nèi)網(wǎng)的網(wǎng)卡,先插上,以后系統(tǒng)安裝成功以后再依次插上其他網(wǎng)卡 以免混淆!在安裝的時(shí)候 可以完全默認(rèn)的方式 并且 盡量采用 英文安裝 ,不裝XWINDOWS 也就是可以一路 NEXT下去?。。?
3。建立用戶(hù) 除了系統(tǒng)自帶的 root 超級(jí)管理員帳戶(hù)以外 請(qǐng)建立1-2個(gè)普通用戶(hù)! 更具體的安裝#作 請(qǐng)搜尋網(wǎng)絡(luò)上其他的文章!或者聯(lián)系我,有非常詳細(xì)的稱(chēng)述!
二、 單機(jī)的配置 這一步很重要 包括設(shè)置好網(wǎng)卡 如果是ADSL的PPOE的撥號(hào)方式 還必須設(shè)置ADSL上網(wǎng) 并且弄清楚 在硬件上的每一塊網(wǎng)卡和系統(tǒng)里面的網(wǎng)卡的對(duì)應(yīng)關(guān)系!
參考模型 eth0———接內(nèi)網(wǎng) RD9.0 LINUX eth1———接外網(wǎng)線(xiàn)路 1 eth2———接外網(wǎng)線(xiàn)路
2 注意 : 在LINUX中表示的以態(tài)網(wǎng)卡的方式是ethX X代表的是第幾個(gè)設(shè)備,對(duì)于排序 請(qǐng)根據(jù)系統(tǒng)的自設(shè)定 然后人為找到對(duì)應(yīng)的網(wǎng)卡,可以采用每張網(wǎng)卡接一條線(xiàn)進(jìn)行 Ping 的方式確定!
在下面這種情況下 將 eth0 (內(nèi)網(wǎng))設(shè)置為 IP: 192.168.0.1 Netmask:255.255.255.0 Gateway網(wǎng)關(guān):無(wú) eth1 (線(xiàn)路一) 假如鬧運(yùn) IP : 218.6.2.211 Netmask:255.255.255.0 Gateway網(wǎng)關(guān):218.6.2.1 eth2(線(xiàn)路二)假如 IP :10.0.0.2 Netmask:255.255.255.0 Gateway: 10.0.0.1 實(shí)際#作方式: ———————————————————– ifconfig eth0 192.168.0.1 netmask 255.255.255.0 ifconfig eth1 218.6.2.1 netmask 255.255.255.0 ifconfig eth2 10.0.0.1 netmask 255.255.255.0 ———————————————————– 格式為: ifconfig 設(shè)備名 IP地址 netmask 子網(wǎng)掩碼 直接輸入 ifconfig 不帶任何參數(shù)的話(huà) 系統(tǒng)將顯示當(dāng)前網(wǎng)絡(luò)接口信息
至于更詳細(xì)的#作方法請(qǐng)參考其他資料! 這樣 就初步設(shè)置好了
各個(gè)網(wǎng)絡(luò)接口的 IP地址等! 但是 這樣的設(shè)置 可能在重起系統(tǒng)以后就會(huì)失效
那么最直接的方法是 修改 文件!
(在LINUX下 很多地方可以直接修改文件的方式實(shí)現(xiàn),特別是沒(méi)有X的時(shí)候,顯得特別重要,也最有效!
—— vi /etc/sysconfig/network-scripts/ifcfg-eth0
進(jìn)入VIM編輯界面 按 “i” 進(jìn)入編輯模式 大致修改為以下內(nèi)容
請(qǐng)注意 當(dāng)一塊網(wǎng)卡被系統(tǒng)正常檢測(cè) 只需要改變“=”后面的內(nèi)容: DEVICE = eth0 ———》設(shè)備名,
一般系統(tǒng)自動(dòng)賦予 ONBOOT = yes ———》是否開(kāi)機(jī)激活 默認(rèn) “yes”
BROADCAST =192.168.0.255 ———》
廣播地址 NETWORK = 192.168.0.0 ———》
網(wǎng)絡(luò)地址 NETMASK = 255.255.255.0 ———》
子網(wǎng)掩碼 IPADDR = 192.168.0.1 ———》
IP地址 提示 BROADCAST =192.168.0.255
和NETWORK = 192.168.0.0 可以根據(jù)IP地址來(lái)
當(dāng)掩碼是 24位 (255.255.255.0) 時(shí) BROADCAST是IP地址最后一位變255 NETWORK是 IP地址最后一位變0
修改成功以后 按 “ESC”鍵 然后 Shift+; 號(hào)鍵,出現(xiàn)“:”提示符 在 “:”提示符下面 輸入 “w” 并回車(chē) 就將設(shè)置保存了,然后輸入 “q”退出編輯界面
注意:如果你的eth0也是 用于內(nèi)網(wǎng)
那么請(qǐng)將 GATEWAAY= 項(xiàng)刪除 其他兩張網(wǎng)卡,則必須要?。?!
如果你裝了X 那么可以在圖形界面下,才用更合適的工具軟件進(jìn)行修改! ————————————————– vim /etc/sysconfig/network-scripts/ifcfg-eth1 ————————————————- 上面命令進(jìn)入設(shè)置 eth1 ———————————————— vim /etc/sysconfig/network-scripts/ifcfg-eth2 —————————–
上面命令進(jìn)入設(shè)置 eth2 設(shè)置 DNS 一般情況下
如果當(dāng)系統(tǒng)檢測(cè)到網(wǎng)卡并且要求你設(shè)置的時(shí)候 你就可以將DNS 加入 但是如果你想修改的話(huà),最直接的方法為編輯DNS文件 ——————————
vim /etc/resolv.conf ——————————— 加入DNS IP地址 格式為 nameserver 202.98.96.68 nameserver 61.139.2.69 等
具體DNS IP即可 當(dāng)以上設(shè)置都正常進(jìn)行以后
重起系統(tǒng), 檢測(cè)設(shè)置 ——————————————– ping 192.168.0.1 ping 10.0.0.2 ping 218.6.2.211 ——————————————
檢測(cè)正確性 (用Ctrl+C結(jié)束) 然后 ,將外網(wǎng)卡正確接入網(wǎng)絡(luò) 至少你確定能上網(wǎng)!
不管他是用的哪條線(xiàn)路?。。。。。。。?如果一切正常 那么就表示系統(tǒng)的配置基本正確。
三、多路復(fù)用 接下來(lái), 我們 就可以用系統(tǒng)本身的功能以及軟件進(jìn)行路由規(guī)則設(shè)置
前面已經(jīng)提到 2.2以上內(nèi)核已經(jīng)帶有很多的高級(jí)功能
而RedHat 9.0采用采用的是2.4.20的內(nèi)核版本 是公認(rèn)的比較穩(wěn)定的,
當(dāng)然 你可以選擇重新編譯升級(jí)內(nèi)核的方式 升級(jí)到2.6.X 版本的內(nèi)核,體驗(yàn)更新的功能,
但是這不是本文所要考慮的內(nèi)容。
在我們將多路復(fù)用之前 更好是先打上兩個(gè)補(bǔ)丁 A 因?yàn)槁酚删彺娴臋C(jī)制,
所以在某一時(shí)間斷 連接到某一點(diǎn)上的線(xiàn)路是不變的,而必須等到失效才能重新選擇,(
對(duì)于RedHat9.0的系統(tǒng)內(nèi)核 需要打這之PATH
下載地址為:
這之PATCH 解決了在系統(tǒng)內(nèi)核中equailze參數(shù)不生效的問(wèn)題
將這兩個(gè)PATCH 下載到本地 比如 直接放在 /root目錄下那么這樣做,
將PATCH補(bǔ)進(jìn)內(nèi)核: ——————————————————– /usr/src/linux-2.4.20-8/patch -p1 ——————————————————— ————————————————- /usr/src/linux-2.4.20-8/patch -p1 ————————————————– 執(zhí)行完以后 我們就基本上需要的軟件都準(zhǔn)備齊全了
路由規(guī)則: 首先 我們使用 ip route show 命令來(lái)顯示當(dāng)前默然的路由規(guī)則: ———————————————— ip route show ————————————————- 可以看見(jiàn) 如: 0 lookup localmaindefault 這是原有系統(tǒng)的路由規(guī)則!
那么 現(xiàn)在 我們使用自己的規(guī)則替代或者說(shuō)將自己的規(guī)則的優(yōu)先級(jí)提高于原有規(guī)則,
接著 我們創(chuàng)建路由表, 注意 創(chuàng)建的路由表的根據(jù)是上面的網(wǎng)絡(luò)接口 ,
所以請(qǐng)根據(jù)我上列舉的具體設(shè)置來(lái)理解 新建命名為 10 和 20的規(guī)則
分別針對(duì)兩個(gè)外網(wǎng)線(xiàn)路 規(guī)則“10” ———————————————————- ip rule add pref 10 from 218.6.2.211 table 10 ———————————————————- 規(guī)則“20” ———————————————————- ip rule add pref 20 from 10.0.0.2 table 20 ———————————————————- 設(shè)置main表 ——————————————————— ip route add 218.6.2.0 dev eth1 src 218.6.2.211 ip route add 10.0.0.0 dev eth2 src 10.0.0.2 ———————————————————設(shè)置完成
上面的只需要根據(jù)不同的IP地址以及對(duì)應(yīng)的硬件設(shè)備 修改其部分內(nèi)容即可 題外: 在LINUX路由表中可以使用0-255來(lái)代表不同的規(guī)則 而且每個(gè)規(guī)則都可以用別名來(lái)表示,
如果大家對(duì)此感興趣 可以查看修改一個(gè)文件里面的內(nèi)容來(lái)達(dá)到目的: 原文件給出了幾個(gè)例子包括 lookup、 main、 default
需要自己添加的 按照這樣的格式修改: 在空行處插入 : 規(guī)則號(hào) 規(guī)則名稱(chēng) 10 OUT1 保存即可 路由選擇的優(yōu)先級(jí),是數(shù)值越小 代表權(quán)越大,所以一個(gè)路由選擇將先查看 0 規(guī)則,既 環(huán)路 然后查看下一個(gè)規(guī)則
在本例子中,當(dāng)一個(gè)數(shù)據(jù)在路由選擇的時(shí)候,過(guò)了0規(guī)則 然后就是 10 規(guī)則 接著 20 規(guī)則 一直往下!直到匹配為止 通過(guò)以上設(shè)置, 我們就可以控制住通過(guò)某一條線(xiàn)路(ISP)的數(shù)據(jù)包的返回信息也從原線(xiàn)路返回。這將對(duì)運(yùn)行在路由上的所有的進(jìn)程起作用!?。〔⑶覍?shí)現(xiàn)了最基本的流量分割,很簡(jiǎn)單吧! 然后 就是做負(fù)載均衡了!可以將不同的請(qǐng)求根據(jù)自定設(shè)置發(fā)往不同的線(xiàn)路!
我們已經(jīng)安裝好了補(bǔ)丁 并且設(shè)置好的各種規(guī)則, 對(duì)于負(fù)載均衡,
可以使用這條語(yǔ)句來(lái)實(shí)現(xiàn): ————————————————————————————————- ip route replace default \nexthop via 218.6.2.1 dev eth1 weight via 10.0.0.1 dev eth2 weight 1 ————————————————————————————————- 50
這樣 我們就改變了缺省的路由為多路路由!?。?!并且我們可以通過(guò)改變 weight 參數(shù)的值來(lái)指定 一條線(xiàn)路的優(yōu)先權(quán)大于 另有條線(xiàn)路 這在兩條線(xiàn)路質(zhì)量不相同的時(shí)候是種不錯(cuò)的選擇 -.M 5sUvsc
如: —————ip route replace default \nexthop via 218.6.2.1 dev eth1 weight \ via 10.0.0.1 dev eth2 weight —————————————————————-
注意:特別 應(yīng)該指出的是,因?yàn)樯厦娴木馐歉鶕?jù)路由進(jìn)行的,而路由是根據(jù)CACHE選擇的,所以這樣的均衡不是100%的準(zhǔn)確,在實(shí)際使用中 最多能達(dá)的70%的效率,對(duì)于經(jīng)常訪問(wèn)的某一遠(yuǎn)程站點(diǎn),會(huì)一直使用同一條線(xiàn)路
求通過(guò)不同的線(xiàn)路發(fā)送,已經(jīng)快于原先單條線(xiàn)路了。同時(shí),就現(xiàn)階段而言,沒(méi)有ISP的配合 是不可能達(dá)到100%的精確的?。。?! 現(xiàn)在 負(fù)載均衡已經(jīng)基本設(shè)置完成了, 你就可以將外網(wǎng)兩條線(xiàn)路接上對(duì)應(yīng)的網(wǎng)卡,特別注意 必須是對(duì)應(yīng)的網(wǎng)卡!
仍然用 ping 命令來(lái)檢測(cè) 兩條線(xiàn)路是否能在同時(shí) ping 通! ping 線(xiàn)路1ISP出口網(wǎng)關(guān) ping 線(xiàn)路2ISP出口網(wǎng)關(guān) 這是一種很好的方法, 各線(xiàn)路的從內(nèi)網(wǎng)出去以后更先經(jīng)過(guò)的是ISP的網(wǎng)關(guān),并且在正常情況下都是允許 ping 探測(cè)的?。?/p>
如果都能同, 那么 你已經(jīng)正確的完成設(shè)置了?。。?! 你的這臺(tái)單機(jī)已經(jīng)可以使用兩條線(xiàn)路同時(shí)上網(wǎng)了,系統(tǒng)在你進(jìn)行網(wǎng)絡(luò)連接的時(shí)候,根據(jù)每條線(xiàn)路的輕重區(qū)別 來(lái)為你將連接請(qǐng)求合理的分發(fā)到兩條線(xiàn)路上!! 四、帶動(dòng)內(nèi)網(wǎng)機(jī)器上網(wǎng) IP偽裝(NAT)、端口轉(zhuǎn)發(fā) 配置好單機(jī)的多重路由功能以后,如何讓他沖當(dāng)內(nèi)網(wǎng)的網(wǎng)絡(luò)出口服務(wù)器,帶動(dòng)其他機(jī)器上網(wǎng)呢,
這將是此節(jié)的重點(diǎn),并且,這部分內(nèi)容單獨(dú)來(lái)將,已經(jīng)是將一個(gè)LINUX#作系統(tǒng)配置成路由器的具體步驟了! 首先,我們應(yīng)該確定系統(tǒng)已經(jīng)安裝了IPTABLES 在大多數(shù)基于2.2內(nèi)核的LINUX#作系統(tǒng)中,已經(jīng)默認(rèn)安裝了次軟件!
通過(guò)下面的命令就可以實(shí)現(xiàn) IP偽裝
注: 里面幾個(gè)具體數(shù)據(jù)將安裝本實(shí)例問(wèn)準(zhǔn),我會(huì)在后面提到!
A、定義IPTABLES位置(不是必須): ———————————– IPTABLES=”/usr/##in/iptables” —————————–
B、清除原有防火墻規(guī)則設(shè)置: ———————————– IPTABLES -P INPUT ACCEPT IPTABLES -P FORWARD ACCEPT IPTABLES -P OUTPUT ACCEPT ——————————-
C、清除NAT規(guī)則設(shè)置 ————————————— IPTABLES -t nat -P PREROUTING ACCEPT IPTABLES -t nat -P POSTROUTING ACCEPT IPTABLES -t nat -P OUTPUT ACCEPT IPTABLES -t mangle -P PREROUTING ACCEPT IPTABLES -t mangle -P OUTPUT ACCEPT——————————-
D、清除在防火墻和NAT中不是默認(rèn)的連接 ————————————- IPTABLES -F IPTABLES -t nat -F IPTABLES -t mangle -F IPTABLES -X IPTABLES -t nat -X IPTABLES -t mangle -X ————————————
E、載入模塊 (必須): ———————————— /##in/depmod -a /##in/modprobe ip_tables /##in/modprobe ip_conntrack /##in/modprobe iptable_filter /##in/modprobe iptable_nat /##in/modprobe ipt_limit /##in/modprobe ipt_state /##in/modprobe ip_conntrack_ftp ————————————-+
F、打開(kāi)轉(zhuǎn)發(fā)功能(必須) ——————————————– echo”1〃 /proc/sys/net/ipv4/ip_forward ——————————————–
G、設(shè)置轉(zhuǎn)發(fā)規(guī)則: ———————————————————————– iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE ———————————————————————– A B C D為可選
但是請(qǐng)注意 如果你的IPTABLES不在 /usr/##in/ 這個(gè)目錄 那么 你更好是選擇這幾項(xiàng)
并且 該成自己所在的目錄 如果你選擇了使用B C D 那么 你必須 選擇A 就是必須給“IPTABLES” 這個(gè)常量賦值,
因?yàn)樵?LINUX 默認(rèn)中 全部大寫(xiě)的 IPTABLES 不是一個(gè)合法的iptables 命令 當(dāng)然,如果你的系統(tǒng)已經(jīng)定義了 iptables 的路徑
那么, 將上面的 IPTABLES 換成小寫(xiě)的 iptables 也行! E F G則是必須要的, 當(dāng)上面的規(guī)則成功設(shè)置以后, 將你的內(nèi)網(wǎng)網(wǎng)卡連上交換機(jī) 等,修改其他機(jī)器的IP地址為 192.168.0.X 掩碼為 255.255.255.0 (X為2-254之間) 生效后,就能通過(guò)你剛才打造的LINUX路由器上網(wǎng)了!??!
但是這些設(shè)備在重起后就會(huì)失效,如何解決了
將這些命令寫(xiě)入腳本 讓他開(kāi)機(jī)啟動(dòng) 即可達(dá)到保存的效果!具體
將各命令寫(xiě)入一文本文件, 并形象的取名 比如,將IPTABLES設(shè)置 保存到當(dāng)前工作目錄里面的一個(gè)文件 并取名為 nat —————- vi nat —————- #復(fù)制內(nèi)容 IPTABLES=”/usr/##in/iptables” IPTABLES -P INPUT ACCEPT IPTABLES -P FORWARD ACCEPT IPTABLES -P OUTPUT ACCEPT IPTABLES -t nat -P PREROUTING ACCEPT IPTABLES -t nat -P POSTROUTING ACCEPT IPTABLES -t nat -P OUTPUT ACCEPT IPTABLES -t mangle -P PREROUTING ACCEPT IPTABLES -t mangle -P OUTPUT ACCEPTIPTABLES -F IPTABLES -t nat -F IPTABLES -t mangle -F IPTABLES -X IPTABLES -t nat -X IPTABLES -t mangle -X /##in/depmod -a /##in/modprobe ip_tables /##in/modprobe ip_conntrack /##in/modprobe iptable_filter /##in/modprobe iptable_nat /##in/modprobe ipt_limit /##in/modprobe ipt_state /##in/modprobe ip_conntrack_ftp echo “1〃 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE
存盤(pán)退出 存盤(pán)退出 重起即可生效 (根本不需要用戶(hù)登陸執(zhí)行!)
其他腳本也是一樣道理 各位 所有基本的#作到此為止 我想 如果你能看完,
那么你自己就完全能用LINUX 打造一個(gè)高級(jí)路由 不要猶豫 他的性能 絕對(duì)敢和市面上價(jià)值幾大千的路由器成品媲美~!!!
感謝網(wǎng)絡(luò)上這方面的網(wǎng)站、論壇介紹的很多知識(shí) 使我能夠獨(dú)立實(shí)施整個(gè)方案 并且詳盡的寫(xiě)出來(lái)! 感謝LINUX 以及無(wú)數(shù)的開(kāi)發(fā)人員 是他們 給我們構(gòu)造了一個(gè)強(qiáng)大 自由 的#作系統(tǒng)及軟件!
接下來(lái),我將對(duì)其他更細(xì)微的有關(guān)#作方法、心得 寫(xiě)下來(lái),希望對(duì)現(xiàn)在采用LINUX 類(lèi)LINUX系統(tǒng) 、軟件做路由的朋友有所幫助,
如:斷線(xiàn)救援,如何在一條線(xiàn)路斷開(kāi)以后立刻啟用另一條線(xiàn)路負(fù)擔(dān)整個(gè)網(wǎng)絡(luò)任務(wù),并且在線(xiàn)路連同以后,又重新自動(dòng)啟用,如何為此提供最詳盡的,有效的,簡(jiǎn)易的方案 一盤(pán)秀的技巧設(shè)置 如果面對(duì)一盤(pán)秀的諸多問(wèn)題了?
讓我們一起來(lái) 在一張小小的軟盤(pán)上反轉(zhuǎn)乾坤 高級(jí)路由策略 ,想某一個(gè)游戲 只走某一條線(xiàn)? 想限制某些人 或者某些機(jī)器的上網(wǎng)需求,我們照樣能辦到,并且能做得更好?。。。。。。。。?
動(dòng)態(tài)路由,電信級(jí)路由 如何在一臺(tái)投資根本不多的LINUX 類(lèi)LINUX機(jī)器上 實(shí)現(xiàn)更強(qiáng)大的功能,如 各種高級(jí)動(dòng)態(tài)路由 并使其有更好的擴(kuò)充性 和靈活性?。?!為我們?cè)诰W(wǎng)絡(luò)接入方面多一個(gè)選擇!??!多一點(diǎn)放心!??! 。。。。。。。。。。。。。。。。。
我將把這個(gè)方案中所用到的腳本 和補(bǔ)丁 打包放在網(wǎng)上, 敬請(qǐng) 指正!?。?
我于昨日晚,測(cè)試完所有的腳本, 包括在兩種不同的雙線(xiàn)路下測(cè)試, ?
我采用的機(jī)器的配置和前一次差不多 P2 433 CPU 128M SDRAM 3.1G 硬盤(pán) 三張/100M 自適應(yīng)網(wǎng)卡,上100 M FULL 其他外設(shè),在配置的時(shí)候用,
采用RedHat 9.0 系統(tǒng),最小化安裝. 網(wǎng)絡(luò)具體情況, A環(huán)境 100臺(tái)機(jī)器, 一條3M ADSL 固定IP 一條 4M 光纖 線(xiàn)路等值使用 將系統(tǒng)配置好,并讓內(nèi)網(wǎng)機(jī)器上網(wǎng), 使用網(wǎng)絡(luò)螞蟻,
在機(jī)器1上下載天虎網(wǎng)下 載中心(down.tyfo.com)的2023 SP4補(bǔ)丁 5線(xiàn)程, 更高速度 450K/S 更低速度 350K/S 平均值 410K/S 在機(jī)器2上同時(shí)也開(kāi)5線(xiàn)程下載 綿陽(yáng)169 下載中心的 2023 SP4 更高速度為 310K/S 更低速度為280K/S 平均為302/S
由此,可以看出, 基本上完全使用了線(xiàn)路的帶寬, 并且,是分到兩條線(xiàn)路在 進(jìn)行數(shù)據(jù)交換, 而我在LINUX路由上,用tcpdump 查看當(dāng)前系統(tǒng)網(wǎng)絡(luò)情況, 可以看 出 每條線(xiàn)上都分發(fā)的有連接, 并且一個(gè)很有趣的現(xiàn)象出現(xiàn)了,
當(dāng)我在內(nèi)網(wǎng)機(jī)器上 打開(kāi)網(wǎng)頁(yè)的時(shí)候,他通過(guò) 線(xiàn)路1連接到DNS 解析了域名,而又將連接從 線(xiàn)路2發(fā)出! B 環(huán)境,40臺(tái)機(jī)器 兩條等值的帶寬相同的 但是不同ISP 的ADSL線(xiàn)路 均為2M 下行 640K 上行速度! 一為電信 一為網(wǎng)通, 而上次有位朋友提到,
當(dāng)服務(wù)器 是電信的時(shí)候內(nèi)網(wǎng)連接可能卡,慢的情況,, 我針對(duì)此做了個(gè)測(cè)試, 在路由中寫(xiě)入 規(guī)則,當(dāng)遠(yuǎn)程站點(diǎn)為電信IP段的時(shí)候,選擇電信線(xiàn)路出口,當(dāng)遠(yuǎn)程站點(diǎn)IP為網(wǎng)通IP段 的時(shí)候,選擇網(wǎng)通線(xiàn)路出口, 這樣緩沖了交差連接導(dǎo)致網(wǎng)速慢的情況, 但是,另一 個(gè)現(xiàn)象發(fā)生了,電信線(xiàn)路上感覺(jué)比較擁擠 , 在內(nèi)網(wǎng)同時(shí)進(jìn)行任意游戲,上網(wǎng),聊天, 下載文件的時(shí)候, ADSL線(xiàn)路的請(qǐng)求等待隊(duì)列都已經(jīng)比較長(zhǎng), 畢竟ADSL的上行只有 640K 因?yàn)闄C(jī)器不是很多 所以感覺(jué)不明顯,
最后我做了個(gè)更詳細(xì)的規(guī)則 1.只對(duì)北方的或者其他物理位置較遠(yuǎn)的電信IP 段進(jìn)行必須通過(guò)電信線(xiàn)路這 個(gè)規(guī)則, 2. 對(duì)于任意位置的網(wǎng)通IP段必須通過(guò)網(wǎng)通線(xiàn)路連接, 過(guò)后測(cè)試,基本 上兩條線(xiàn)路的使用比較均衡, 相對(duì)來(lái)說(shuō),連接到在物理位置上很遠(yuǎn)的遠(yuǎn)程站點(diǎn)進(jìn)行 下載和游戲的不是很多, 因?yàn)檫€有很大一個(gè)因素是,遠(yuǎn)程站點(diǎn)的服務(wù)器配置,以及 經(jīng)過(guò)的中間節(jié)點(diǎn)的數(shù)目及網(wǎng)絡(luò)性能等,如果你對(duì)此還不滿(mǎn)意 你可以進(jìn)行更加細(xì)微 的設(shè)置 斷線(xiàn)救援方面, 很遺憾 在這個(gè)環(huán)節(jié)上,因?yàn)镮SP的限制,導(dǎo)致此功能在實(shí)施 過(guò)程中遇見(jiàn)了一點(diǎn)點(diǎn)問(wèn)題, 因?yàn)?我們這里的ISP ,不允許用ICMP探測(cè), 當(dāng)然,可 以探測(cè)到某一條線(xiàn)路的網(wǎng)關(guān), 也就是說(shuō),比如一條光纖和一條ADSL 光纖為網(wǎng)關(guān)為 218.6.2.1 ADSL網(wǎng)關(guān)為61.139.54.1 那么同時(shí)ping 這兩個(gè)IP地址來(lái)探測(cè)線(xiàn)路情 況,是可行的,, 但是 當(dāng)某一條線(xiàn)路被停用以后,, 就有可能不能在線(xiàn)路恢復(fù)的 時(shí)候重新啟用 因?yàn)?,ISP不運(yùn)行從光纖線(xiàn)路上去pingADSL網(wǎng)關(guān),當(dāng)ADSL斷掉的時(shí)候 ,系統(tǒng)將從路由中刪除ADSL連路,只有光纖在使用, 這個(gè)時(shí)候,不管ADSL是否正常, 都沒(méi)辦法ping 通 ,返回的值永遠(yuǎn)是”0〃 如果你的地方ISP沒(méi)有這個(gè)限制的話(huà), 就沒(méi)有這個(gè)問(wèn)題, 并且會(huì)執(zhí)行得很好. 針對(duì)這個(gè)問(wèn)題,我會(huì)考慮在短時(shí)間了去尋 找其他的方法!!! 而對(duì)于”網(wǎng)絡(luò)游戲經(jīng)常斷”這個(gè)情況, 在線(xiàn)路及服務(wù)器正常的情況下是不可能 出現(xiàn)的, 就算有這種情況出現(xiàn),問(wèn)題都不在于內(nèi)部網(wǎng)絡(luò)的路由上! 如果你是以下情況 那么 你可以采用我的文件,并簡(jiǎn)單修改,就能實(shí)現(xiàn)起強(qiáng)大 的功能, 有3張物理網(wǎng)卡(兩條外線(xiàn)),, 或者2張網(wǎng)卡(一條外線(xiàn))+一固定ADSL 好了,, 廢話(huà)就到此為止吧! 每個(gè)目錄下面都有相應(yīng)的說(shuō)明文件 詳細(xì)說(shuō)明,該目錄下面需要改的文件,不需要改的文件,所需修改的文件的具體 位置 約定 : 任何設(shè)置文件里面的參數(shù)都有統(tǒng)一性, 請(qǐng)注意 更好是保持變量名 的一致 便于項(xiàng)目的設(shè)置和問(wèn)題的查找 如: OUTIF1 代表外網(wǎng)卡設(shè)備1 OUTIF2 代表外網(wǎng)卡設(shè)備2 GW1 代表外網(wǎng)線(xiàn)路1(OUTIF1)的網(wǎng)關(guān) GW2 代表外網(wǎng)線(xiàn)路2(OUTIF2)的網(wǎng)關(guān) IP1 代表外網(wǎng)網(wǎng)卡1的IP地址 IP2 代表外網(wǎng)網(wǎng)卡2的IP地址 5288 NETMASK1 代表外網(wǎng)網(wǎng)卡1的掩碼 NETMASK2 代表外網(wǎng)網(wǎng)卡2的掩碼 你僅僅需要修改 引號(hào) “” 里面的對(duì)應(yīng)內(nèi)容即可 注意 請(qǐng)保證文件的格式 可用 windows的記事本打開(kāi), 但是可能將文件 內(nèi)容表示成連續(xù)的段 中間會(huì)用 隔開(kāi),請(qǐng)不要?jiǎng)h除這個(gè)空字符 所有文件更改成功以后, 在當(dāng)前目錄下 執(zhí)行 命令 sh go 等待一分鐘左右 系統(tǒng)將重啟,在重啟后, 所有的設(shè)置將生效
怎么搭建一個(gè)可以被外網(wǎng)訪問(wèn)的linux web服務(wù)器
首先需要將你的web服務(wù)器搭建好,然后需要做NAT,我這里有我的一和橋頌個(gè)做NAT的筆記,分享給你
NAT
拓?fù)浣Y(jié)構(gòu)圖:
要求:
1.內(nèi)網(wǎng)能夠ping通外網(wǎng)地址,并且成功訪問(wèn)外網(wǎng)中的消歲web服務(wù);
2.外網(wǎng)能夠訪問(wèn)內(nèi)網(wǎng)的ftp服務(wù)。
步驟:
一:內(nèi)網(wǎng)服務(wù)器配置
1.在內(nèi)網(wǎng)中設(shè)置好ip地址,網(wǎng)關(guān)和DNS均為NAT服務(wù)器內(nèi)網(wǎng)口地址,并搭建好ftp服務(wù),此處略
二:NAT服務(wù)器配置
1.在NAT只能中添加一塊網(wǎng)卡作為 外網(wǎng)卡,并設(shè)置好ip地址
2.開(kāi)啟NAT服務(wù)器的路由功能
# vi /etc/sysctl.conf
net.ipv4.ip_forward = //將0改為1
# sysctl -p //永久生效
3.配置防火墻(必須按照以下循序配置,否則配置完成后不能拼通外網(wǎng),需配置第二次)
#iptables-X
#iptables-t nat -X
#iptables –flush
#iptables -t nat –flush
//以上為重置鏈表的命令
#iptables-t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT –to 202.10.10.12
//這條命令是將內(nèi)網(wǎng)192.168.1.0/24的源地址映射為NAT服務(wù)器的外網(wǎng)口地址,eth1為外網(wǎng)卡
# iptables -t nat -A PREROUTING -p tcp–dport 21 -j DNAT –to 192.168.1.11
# iptables -t nat -A PREROUTING -p tcp–dport 20 -j DNAT –to 192.168.1.11
//這兩條命令是發(fā)布內(nèi)務(wù)的ftp服務(wù)
或者:
# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12–dport 21 -j DNAT –to 192.168.1.11
# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12–dport 20 -j DNAT –to 192.168.1.11
#/etc/init.d/iptablessave
#/etc/init.d/iptablesrestart
驗(yàn)證:
內(nèi)網(wǎng)訪問(wèn)外網(wǎng)的web服務(wù):
# curl 202.10.10.13
web
外網(wǎng)訪問(wèn)內(nèi)網(wǎng)的ftp服務(wù)(外網(wǎng)的防火墻一定要關(guān)閉,否則ls查看目錄時(shí)會(huì)出錯(cuò),或者打開(kāi)外網(wǎng)的20號(hào)端口新建鏈接的也可以)#
# ftp 202.10.10.12
Connected to 202.10.10.12 (202.10.10.12).
220 (vsFTPd 2.2.2)
Name (202.10.10.12:root): ftp01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode(192,168,1,11,93,1).
ftp: connect: Network isunreachable //列不出內(nèi)容是因?yàn)檫M(jìn)入了passive模式
ftp>passive喚鄭 //用passive命令切換passive模式和active模式
Passivemode off.
ftp> ls
200 PORT command successful. Consider usingPASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp>
補(bǔ)充:
刪除防火墻中配置的記錄
# iptables -t nat -L POSTROUTING -n –line-number //列出記錄和記錄序號(hào)
# iptables -t nat -D POSTROUTING //根據(jù)序號(hào)刪除記錄
你將內(nèi)網(wǎng)的ftp服務(wù)換成web服務(wù)就可以了,主要是弄懂NAT的原理,將內(nèi)部服務(wù)通過(guò)DNAT發(fā)布到外網(wǎng)
關(guān)于linux網(wǎng)關(guān)服務(wù)器搭建的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)名稱(chēng):如何搭建Linux網(wǎng)關(guān)服務(wù)器?(linux網(wǎng)關(guān)服務(wù)器搭建)
轉(zhuǎn)載源于:http://www.fisionsoft.com.cn/article/ccoichi.html


咨詢(xún)
建站咨詢(xún)
