歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> Linux下寬帶設置使局域網連接互聯網

Linux下寬帶設置使局域網連接互聯網

日期:2017/2/27 11:56:25   编辑:Linux文化

系統准備:一個運轉正常的Linux(這個大家都有)

硬件要求:至少一塊網卡,寬帶設備已經申請完畢,同時已經開通

廣州電信的ADS(LAN)L使用的是PPPOE撥號方式,因此,要在Linux下使用ADSL,必須

安裝PPPOE客戶端軟件。

下面說明如何進行安裝:本人以RedHat Linux 7.3為平台,其它平台Linux的安裝辦法

可以參照下面安裝的步驟。

一、安裝的前提條件

1.確保安裝了網卡並工作正常使用命令"ipconfig/all"查看網卡狀態2.在系統中不要

設置默認路由(網關),讓ADSL撥號後自動獲得如果已經設置了默認路由,使用以下

方法刪除:在文件 /etc/sysconfig/network 中刪除 GATEWAY= 這一行,然後以root

執行:#/etc/rc.d/init.d/network restart 3.已經安裝了pppd軟件包如果存在

文件 /usr/sbin/pppd,則說明已經安裝了pppd;如未安裝,從RedHatLinux 安裝

光盤上裝ppp-2.3.11-4.i386.rpm(版本可能不一樣)這個軟件包二、安裝PPPOE客戶

端軟件Linux下的PPPOE客戶端軟件比較多,而且大多使用GNU License,推薦使用

rp-pppoe這個軟件包,

從http://www.roaringpenguin.com/pppoe/這個網站上,不僅可以下栽RedHat 平台

下的rp-pppoe的二進制軟件包,而且可以下栽源代碼軟件包。

二、二進制軟件包的安裝:

A.下栽二進制軟件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.i386.rpm B.

進行安裝以root執行:#rpm -Uvh rp-pppoe-3.5-1.i386.rpm 2.從源代碼進行安裝:從源代碼

進行安裝同樣適用於其它平台的Linux,但必須在Linux系統中安裝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將自動

進行編譯和安裝,最後,自動調用/usr/sbin/adsl-setup進行配置,具體解釋見三。

三、配置PPPOE客戶端軟件安裝完軟件包後

必須配置pppoe的配置文件/etc/ppp/pppoe.conf,從而讓ADSL撥號時使用配置文件中的用戶名、

密碼等參數。我們不必手工改動這個文件,可以使用adsl-setup這個工具進行配置:

#/usr/sbin/adsl-setup當出現

>>> Enter your PPPoE user name :

輸入ADSL帳號的用戶名當出現

>>> 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

相連的網卡的名字當出現

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

輸入 no當出現

>>> Enter the DNS information here:

輸入 “server” ,這表示使用ADSL撥號自動獲得的DNS服務器IP地址當出現

>>> Please enter your PPPoE password:

輸入ADSL帳號的密碼當出現

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

輸入 0 ,不使用防火牆當出現

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

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

四、啟動PPPOE客戶端軟件

使用命令/usr/sbin/adsl-start 啟動PPPOE客戶端軟件,進行連接,如果成功,將出現

Connected;如果不成功,請檢查網線、ADSL MODEM等物理設備,並查看 /var/log/messages

中的信息/usr/sbin/adsl-stop 關閉和ISP的連接/usr/sbin/adsl-status 查看當前連接的狀態

如果想在Linux系統啟動時自動啟動ADSL連接,輸入以下命令#chkconfig –add adsl將在當前的

運行級下加入ADSL的自啟動腳本

五、測試當連接成功後

使用命令#ifconfig -a在輸出中應含有關於 ppp0 的信息,其中還綁定了IP 地址,說明已經

從撥號中獲得了IP地址。

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

如果沒有默認路由,我們可以手動增加:#route add default gw 上面獲得的IP地址使用

命令#nslookup www.sina.com.cn如果解析出新浪的IP,說明已經從撥號中正確獲得了DNS服務器

最後,使用命令ping某個域名或IP,如果有響應,表示你已經大功告成了。

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

再start了。

六、使用雙網卡帶動公司網、家庭網絡上網

硬件要求:同上雙網卡

NAT方式:接內部網絡的網卡設置IP為私有地址(192.168.0.0/24、172.16.0.0/16、10.0.0.0/8),

例如192.168.100.123/24.不要設置默認路由(網關),DNS設置為廣州地區(61.144.56.100),

其它

地區的相應改動為本地區的DNS. 在/etc/rc.d/目錄下用touch命令建立firewall文件,執行

chmod u+x firewall以改變文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d

/firewall以確保開機時能自動運行該腳本。

firewall內容為:

#!/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客戶端設置(windows98/2000/xp、linux)網關

設置為這台linux地址(192.168.100.123),DNS設置為61.144.56.100.

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

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

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 port280 # 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

(限制只允許局域網用戶使用代理,具體可以參考squid手冊中關於Access Control Lists的

內容來限制訪問代理)

cache_dir ufs /var/spool/squid 100 16 256

cache_dir type Directory-Name Mbytes Level-1 Level2

(說明:指定squid用來存儲對象的交換空間的大小及其目錄結構。可以用多個cache_dir命令來

定義多個這樣的交換空間,並且這些交換空間可以分布不同的磁盤分區。“directory ”指明了

該交換空間的頂 級目錄。如果你想用整個磁盤來作為交換空間,那麼你可以將該目錄作為裝載點

將整個磁盤mount上去。缺省值為/var/spool/squid.“Mbytes”定義了可用的空間總量。需要注

意的是,squid進程必須擁有對該目錄的讀寫權力。“Level-1″是可以在該頂級目錄下建立的第

一級子目錄的數目,缺省值為16.同理,”Level-2″是可以建立的第二級子目錄的數目,缺省值

為256.為什麼要定義這麼多子目錄呢?這是因為如果子目錄太少,則存儲在一個子目錄下的文件

數目將大大增加,這也會導致系統尋找某一個文件的時間大大增加。

Copyright © Linux教程網 All Rights Reserved