主頁 > 知識(shí)庫 > Linux下設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)

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

熱門標(biāo)簽:呼叫外包 記事本 人工座席 外呼線路 網(wǎng)站建設(shè) 太平洋壽險(xiǎn)電話營銷 IT外包 呼叫中心解決方案

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

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

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

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

  、安裝的前提條件1.確保安裝了網(wǎng)卡并工作正常使用命令#ifconfig eth0查看網(wǎng)卡狀態(tài)2.在系統(tǒng)中不要設(shè)置默認(rèn)路由(網(wǎng)關(guān)),讓ADSL撥號(hào)后自動(dòng)獲得如果已經(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(版本可能不一樣)這個(gè)軟件包二、安裝PPPOE客戶端軟件Linux下的PPPOE客戶端軟件比較多,而且大多使用GNU License,推薦使用rp-pppoe這個(gè)軟件包,

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

  1.二進(jìn)制軟件包的安裝:A.下栽二進(jìn)制軟件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.i386.rpm B.進(jìn)行安裝以root執(zhí)行:#rpm -Uvh rp-pppoe-3.5-1.i386.rpm 2.從源代碼進(jìn)行安裝:從源代碼進(jìn)行安裝同樣適用于其它平臺(tái)的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.進(jìn)行編譯和安裝運(yùn)行腳本#./go將自動(dòng)進(jìn)行編譯和安裝,最后,自動(dòng)調(diào)用/usr/sbin/adsl-setup進(jìn)行配置,具體解釋見三。

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

  >>> Enter your PPPoE user name :

  輸入ADSL帳號(hào)的用戶名當(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撥號(hào)自動(dòng)獲得的DNS服務(wù)器IP地址當(dāng)出現(xiàn)

  >>> Please enter your PPPoE password:

  輸入ADSL帳號(hào)的密碼當(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 重新輸入。

  、啟動(dòng)PPPOE客戶端軟件使用命令/usr/sbin/adsl-start 啟動(dòng)PPPOE客戶端軟件,進(jìn)行連接,如果成功,將出現(xiàn)Connected;如果不成功,請(qǐng)檢查網(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)啟動(dòng)時(shí)自動(dòng)啟動(dòng)ADSL連接,輸入以下命令#chkconfig –add adsl將在當(dāng)前的運(yùn)行級(jí)下加入ADSL的自啟動(dòng)腳本五、測(cè)試當(dāng)連接成功后,使用命令#ifconfig -a在輸出中應(yīng)含有關(guān)于 ppp0 的信息,其中還綁定了IP 地址,說明已經(jīng)從撥號(hào)中獲得了IP地址。

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

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

  注:好像在進(jìn)行配置的過程中,會(huì)提示你是否在啟動(dòng)時(shí)加載ADSL,選yes,這樣就會(huì)省的登錄后再start了。

五、使用雙網(wǎng)卡帶動(dò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)改動(dòng)為本地區(qū)的DNS. 在/etc/rc.d/目錄下用touch命令建立firewall文件,執(zhí)行chmod u+x firewall以改變文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機(jī)時(shí)能自動(dòng)運(yùn)行該腳本。

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

  已知量:

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

  OS = 平均每個(gè)對(duì)象的大小= 20k

  NO = 平均每個(gè)二級(jí)子目錄所存儲(chǔ)的對(duì)象數(shù)目 = 256

  未知量:

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

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

  計(jì)算公式:

  L1 x L2 = DS / OS / NO

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

  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

  最后啟動(dòng)squid:

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

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

  [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)正常啟動(dòng)了。

  然后使用Redhat的serviceconf工具以使得系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dò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以確保開機(jī)時(shí)能自動(dòng)執(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 eth1 -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七、在含有多個(gè)vlan的三層交換網(wǎng)絡(luò)中實(shí)現(xiàn)squid+iptables的透明代理在企業(yè)中網(wǎng)絡(luò)常常會(huì)有三層交換。它能夠有效隔離廣播,防止廣播風(fēng)暴。通過三層交換機(jī)劃分vlan,使得應(yīng)用和管理都變得相對(duì)容易些。但也給代理的設(shè)置帶來一點(diǎn)小麻煩,傳統(tǒng)代理要設(shè)置代理

  服務(wù)器地址和端口,這對(duì)三層交換網(wǎng)絡(luò)沒有什么問題。關(guān)鍵是透明代理中網(wǎng)關(guān)的設(shè)置,在三層交換的網(wǎng)絡(luò)中每個(gè)vlan的計(jì)算機(jī)的網(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ù)器的地址是絕對(duì)不行的。所以,三層交換網(wǎng)絡(luò)中透明代理的設(shè)置主要問題集中在三層中心交換機(jī)和代理服務(wù)器路由的設(shè)置,三層交換機(jī)的路由表中要有一條默認(rèn)路由指向代理服務(wù)器,服務(wù)器的路由表中要有一個(gè)容納所有vlan的網(wǎng)關(guān)。

  以下是我的網(wǎng)絡(luò)說明:網(wǎng)絡(luò)內(nèi)網(wǎng)有15個(gè)vlan如路由表所示,代理服務(wù)器(squid+iptables)在vlan1中服務(wù)器有兩塊網(wǎng)卡,eth0連接外網(wǎng)ip是A.B.C.D,網(wǎng)關(guān)為A.B.C.1.eth1連接內(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 eth1以保證與其他vlan的通信,如此網(wǎng)絡(luò)部分便配置成功,關(guān)于透明代理設(shè)置這里就不說了,請(qǐng)參考其他文章。這樣所有的vlan的計(jì)算機(jī)只要網(wǎng)關(guān)和dns配置好就可以上網(wǎng)了,如:vlan3中某臺(tái)計(jì)算機(jī)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->……

標(biāo)簽:常州 淮北 綏化 延安 泰安 山南 那曲 那曲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下設(shè)置ADSL使局域網(wǎng)連接互聯(lián)網(wǎng)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266