溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下如何設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)

發(fā)布時間:2021-07-10 15:40:05 來源:億速云 閱讀:108 作者:chen 欄目:系統(tǒng)運維

這篇文章主要講解了“Linux下如何設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux下如何設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)”吧!

系統(tǒng)準(zhǔn)備:一個運轉(zhuǎn)正常的Linux(這個大家都有)

  硬件要求:至少一塊網(wǎng)卡,寬帶設(shè)備已經(jīng)申請完畢,同時已經(jīng)開通

  廣州電信的ADS(LAN)L使用的是PPPOE撥號方式,因此,要在Linux下使用ADSL,必須安裝PPPOE客戶端軟件。

  下面說明如何進行安裝:本人以RedHat Linux 7.3為平臺,其它平臺Linux的安裝辦法可以參照下面安裝的步驟。

  、安裝的前提條件1.確保安裝了網(wǎng)卡并工作正常使用命令#ifconfig eth0查看網(wǎng)卡狀態(tài)2.在系統(tǒng)中不要設(shè)置默認(rèn)路由(網(wǎng)關(guān)),讓ADSL撥號后自動獲得如果已經(jīng)設(shè)置了默認(rèn)路由,使用以下方法刪除:在文件 /etc/sysconfig/network 中刪除 GATEWAY= 這一行,然后以root執(zhí)行:#/etc/rc.d/init.d/network restart 3.已經(jīng)安裝了pppd軟件包如果存在文件 /usr/sbin/pppd,則說明已經(jīng)安裝了pppd;如未安裝,從RedHatLinux 安裝光盤上裝ppp-2.3.11-4.i386.rpm(版本可能不一樣)這個軟件包二、安裝PPPOE客戶端軟件Linux下的PPPOE客戶端軟件比較多,而且大多使用GNU License,推薦使用rp-pppoe這個軟件包,

  從http://www.roaringpenguin.com/pppoe/這個網(wǎng)站上,不僅可以下栽RedHat 平臺下的rp-pppoe的二進制軟件包,而且可以下栽源代碼軟件包。

  1.二進制軟件包的安裝:A.下栽二進制軟件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.i386.rpm B.進行安裝以root執(zhí)行:#rpm -Uvh rp-pppoe-3.5-1.i386.rpm 2.從源代碼進行安裝:從源代碼進行安裝同樣適用于其它平臺的Linux,但必須在Linux系統(tǒng)中安裝gcc編譯器。

  A.下栽源代碼軟件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz B.解壓縮#tar xvfz rp-pppoe-3.5.tar.gz #cd rp-pppoe-3.5 C.進行編譯和安裝運行腳本#./go將自動進行編譯和安裝,最后,自動調(diào)用/usr/sbin/adsl-setup進行配置,具體解釋見三。

  、配置PPPOE客戶端軟件安裝完軟件包后,必須配置pppoe的配置文件/etc/ppp/pppoe.conf,從而讓ADSL撥號時使用配置文件中的用戶名、密碼等參數(shù)。我們不必手工改動這個文件,可以使用adsl-setup這個工具進行配置:#/usr/sbin/adsl-setup當(dāng)出現(xiàn)

  >>> Enter your PPPoE user name :

  輸入ADSL帳號的用戶名當(dāng)出現(xiàn)

  >>> Enter the Ethernet interface connected to the ADSL modem

  For Solaris, this is likely to be something like /dev/hme0. For Linux, it will be ethn, where n is a number.(default eth0):輸入 eth0 ,這是ADSL相連的網(wǎng)卡的名字當(dāng)出現(xiàn)

  >>> Enter the demand value (default no):

  輸入 no當(dāng)出現(xiàn)

  >>> Enter the DNS information here:

  輸入 “server” ,這表示使用ADSL撥號自動獲得的DNS服務(wù)器IP地址當(dāng)出現(xiàn)

  >>> Please enter your PPPoE password:

  輸入ADSL帳號的密碼當(dāng)出現(xiàn)

  >>> Choose a type of firewall (0-2):

  輸入 0 ,不使用防火墻當(dāng)出現(xiàn)

  >>> Accept these settings and adjust configuration files (y/n)?

  如果輸入的信息正ā確,輸入 y ,完成配置,否則,輸入 n 重新輸入。

  、啟動PPPOE客戶端軟件使用命令/usr/sbin/adsl-start 啟動PPPOE客戶端軟件,進行連接,如果成功,將出現(xiàn)Connected;如果不成功,請檢查網(wǎng)線、ADSL MODEM等物理設(shè)備,并查看 /var/log/messages中的信息/usr/sbin/adsl-stop 關(guān)閉和ISP的連接/usr/sbin/adsl-status 查看當(dāng)前連接的狀態(tài)如果想在Linux系統(tǒng)啟動時自動啟動ADSL連接,輸入以下命令#chkconfig –add adsl將在當(dāng)前的運行級下加入ADSL的自啟動腳本五、測試當(dāng)連接成功后,使用命令#ifconfig -a在輸出中應(yīng)含有關(guān)于 ppp0 的信息,其中還綁定了IP 地址,說明已經(jīng)從撥號中獲得了IP地址。

  使用命令#netstat -nr查看路由表信息,這時的默認(rèn)路由應(yīng)該是上面獲得的IP地址。

  如果沒有默認(rèn)路由,我們可以手動增加:#route add default gw 上面獲得的IP地址使用命令#nslookup www.sina.com.cn如果解析出新浪的IP,說明已經(jīng)從撥號中正確獲得了DNS服務(wù)器最后,使用命令ping某個域名或IP,如果有響應(yīng),表示你已經(jīng)大功告成了。

  注:好像在進行配置的過程中,會提示你是否在啟動時加載ADSL,選yes,這樣就會省的登錄后再start了。

五、使用雙網(wǎng)卡帶動公司網(wǎng)、家庭網(wǎng)絡(luò)上網(wǎng)

  硬件要求:同上雙網(wǎng)卡

  NAT方式:接內(nèi)部網(wǎng)絡(luò)的網(wǎng)卡設(shè)置IP為私有地址(192.168.0.0/24、172.16.0.0/16、10.0.0.0/8),

  例如192.168.100.123/24.不要設(shè)置默認(rèn)路由(網(wǎng)關(guān)),DNS設(shè)置為廣州地區(qū)(61.144.56.100),其它

  地區(qū)的相應(yīng)改動為本地區(qū)的DNS. 在/etc/rc.d/目錄下用touch命令建立firewall文件,執(zhí)行chmod u+x firewall以改變文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機時能自動運行該腳本。

  firewall內(nèi)容為:#!/bin/sh echo “Enable IP Forwarding…”

  echo “1″>/proc/sys/net/ipv4/ip_forward echo ”Starting iptables rules…“

  /sbin/modprobe iptable_filter /sbin/modprobe ip_tables /sbin/modprobe iptable_nat #Refresh all chains /sbin/iptables -F -t nat iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MMASQUERADE客戶端設(shè)置(windows98/2000/xp、linux)網(wǎng)關(guān)設(shè)置為這臺linux地址(192.168.100.123),DNS設(shè)置為61.144.56.100.

  透明代理配置代理軟件squid:

  編輯/usr/local/squid/etc/squid.conf,修改以下內(nèi)容,確保以下配置:

  http_port 192.168.100.123:8080

  cache_mem 48 MB acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemakāer acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl flag src 192.168.100.0/255.255.255.0

  httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on cache_effective_user nobody cache_effective_group nobody http_access allow flag

  http_access deny all

  (限制只允許局域網(wǎng)用戶使用代理,具體可以參考squid手冊中關(guān)于Access Control Lists的內(nèi)容來限制訪問代理)

  cache_dir ufs /var/spool/squid 100 16 256

  cache_dir type Directory-Name Mbytes Level-1 Level2

  (說明:指定squid用來存儲對象的交換空間的大小及其目錄結(jié)構(gòu)。可以用多個cache_dir命令來定義多個這樣的交換空間,并且這些交換空間可以分布不同的磁盤分區(qū)?!癲irectory ”指明了該交換空間的頂 級目錄。如果你想用整個磁盤來作為交換空間,那么你可以將該目錄作為裝載點將整個磁盤mount上去。缺省值為/var/spool/squid.“Mbytes”定義了可用的空間總量。需要注意的是,squid進程必須擁有對該目錄的讀寫權(quán)力?!癓evel-1″是可以在該頂級目錄下建立的第一級子目錄的數(shù)目,缺省值為16.同理,”Level-2″是可以建立的第二級子目錄的數(shù)目,缺省值為256.為什么要定義這么多子目錄呢?這是因為如果子目錄太少,則存儲在一個子目錄下的文件數(shù)目將大大增加,這也會導(dǎo)致系統(tǒng)尋找某一個文件的時間大大增加,從而使系統(tǒng)的整體性能急劇降低。所以,為了減少每個目錄下的文件數(shù)量,我們必須增加所使用的目錄的數(shù)量。如果僅僅使用一級子目錄則頂級目錄下的子目錄數(shù)目太大了,所以我們使用兩級子目錄結(jié)構(gòu)。那么,怎么來確定你的系統(tǒng)所需要的子目錄數(shù)目呢?我們可以用下面的公式來估算。

  已知量:

  DS = 可用交換空間總量(單位KB)/ 交換空間數(shù)目

  OS = 平均每個對象的大小= 20k

  NO = 平均每個二級子目錄所存儲的對象數(shù)目 = 256

  未知量:

  L1 = 一級子目錄的數(shù)量

  L2 = 二級子目錄的數(shù)量

  計算公式:

  L1 x L2 = DS / OS / NO

  (注意這是個不定方程,可以有多個解)

  acl allow_domain dstdomain “/etc/squid/allow_domain”

  創(chuàng)建cache目錄

  [root@proxy squid]# squid -z

  修改該目錄所有者squid:

  [root@proxy squid]# chown squid:squid /usr/spool/squid

  最后啟動squid:

  [root@iptable logs]# /usr/local/squid/bin/RunCache &

  并且系統(tǒng)中應(yīng)該有如下幾個端口被****:

  [root@proxy logs]# netstat -ln tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:3130 0.0.0.0:*

  這些說明squid已經(jīng)正常啟動了。

  然后使用Redhat的serviceconf工具以使得系統(tǒng)啟動時自動啟動squid服務(wù)器。

  5.iptables的設(shè)置

  在/etc/rc.d/目錄下用touch命令建立firewall文件,執(zhí)行chmod u+x firewll以更改文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機時能自動執(zhí)行該腳本。

  firewall文件內(nèi)容為:

  #!/bin/sh

  echo “Enabling IP Forwarding…”

  echo 1 > /proc/sys/net/ipv4/ip_forward

  echo “Starting iptables rules…ā”

  #Refresh all chains

  /sbin/iptables -F -t nat

  iptables -t nat -A PREROUTING -i eth2 -p tcp -m tcp–dport 80 -j REDIRECT –to-ports 8080

  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 — -j MMASQUERADE七、在含有多個vlan的三層交換網(wǎng)絡(luò)中實現(xiàn)squid+iptables的透明代理在企業(yè)中網(wǎng)絡(luò)常常會有三層交換。它能夠有效隔離廣播,防止廣播風(fēng)暴。通過三層交換機劃分vlan,使得應(yīng)用和管理都變得相對容易些。但也給代理的設(shè)置帶來一點小麻煩,傳統(tǒng)代理要設(shè)置代理

  服務(wù)器地址和端口,這對三層交換網(wǎng)絡(luò)沒有什么問題。關(guān)鍵是透明代理中網(wǎng)關(guān)的設(shè)置,在三層交換的網(wǎng)絡(luò)中每個vlan的計算機的網(wǎng)關(guān)都要設(shè)置成所在vlan的網(wǎng)關(guān),如:下表中vlan1的網(wǎng)關(guān)必須是192.168.100.1,vlan2的網(wǎng)關(guān)必須是192.168.110.1,像普通網(wǎng)絡(luò)中把網(wǎng)關(guān)都設(shè)置成代理服務(wù)器的地址是絕對不行的。所以,三層交換網(wǎng)絡(luò)中透明代理的設(shè)置主要問題集中在三層中心交換機和代理服務(wù)器路由的設(shè)置,三層交換機的路由表中要有一條默認(rèn)路由指向代理服務(wù)器,服務(wù)器的路由表中要有一個容納所有vlan的網(wǎng)關(guān)。

  以下是我的網(wǎng)絡(luò)說明:網(wǎng)絡(luò)內(nèi)網(wǎng)有15個vlan如路由表所示,代理服務(wù)器(squid+iptables)在vlan1中服務(wù)器有兩塊網(wǎng)卡,eth0連接外網(wǎng)ip是A.B.C.D,網(wǎng)關(guān)為A.B.C.1.eth2連接內(nèi)網(wǎng)ip是192.168.100.123/24不設(shè)網(wǎng)關(guān)。給服務(wù)器加上一條路由,將192.168.0.0/16,指向vlan1的網(wǎng)關(guān)192.168.100.1,route add -net 192.168.0.0 netmask 255.255.0.0 eth2以保證與其他vlan的通信,如此網(wǎng)絡(luò)部分便配置成功,關(guān)于透明代理設(shè)置這里就不說了,請參考其他文章。這樣所有的vlan的計算機只要網(wǎng)關(guān)和dns配置好就可以上網(wǎng)了,如:vlan3中某臺計算機ip設(shè)置192.168.120.47,網(wǎng)關(guān)為192.168.120.1,dns地址為服務(wù)商給的(廣州地區(qū)ADSL:61.144.56.100),這樣就OK了。其出網(wǎng)的路由為->192.168.120.47->192.168.120.1->192.168.100.1->192.168.100.123->A.B.C.1->……

感謝各位的閱讀,以上就是“Linux下如何設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux下如何設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI