国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

Linux上應(yīng)用isdn的解決方案

2024-07-21 02:37:27
字體:
供稿:網(wǎng)友

  作者:wind521
  
  目的: 
    在一臺(tái)linux機(jī)器上,通過ISDN撥號(hào)上網(wǎng),同時(shí)可以作代理用!
  配置:
   Redhat Linux 7.3、2.4.18-3custom、isdn4k-utils-3.1-53、isdn4k-utils-devel-3.1-53,上海貝爾生產(chǎn)的ISDN內(nèi)置卡,型號(hào)為SBT6021。
  
  內(nèi)核支持:
    上海貝爾SBT6021型ISDN內(nèi)置卡,使用的芯片為Winbond W6692,這是一種與西門子“HiSax”驅(qū)動(dòng)程序兼容的芯片,該卡是即插即用的,無需手工設(shè)置中斷請(qǐng)求和I/O地址。但需要Linux內(nèi)核支持這種內(nèi)置卡,在編譯內(nèi)核時(shí),必須選中下列選項(xiàng):
  
   ISDN Support
  
   Support synchronous PPP
  
   (多數(shù)ISDN設(shè)備撥號(hào)上網(wǎng)都是使用同步PPP方式)
  
   Hisax SiemensChipset driver support
  
   Hisax Support for DSS1
  
   (絕大多數(shù)ISDN設(shè)備使用的協(xié)議都是DSS1)
  
   Hisax Support for Winbond W6692
  
   大家不必急于編譯內(nèi)核,假如現(xiàn)有的內(nèi)核已經(jīng)包含這些選項(xiàng)了,那么就不必再重復(fù)一遍了。那怎么知道現(xiàn)有內(nèi)核是否已經(jīng)包含這些選項(xiàng)了呢?看內(nèi)核編譯配置文件“/usr/src/linux/.config”(注重:文件名以“.”開頭的文件是隱藏文件,要用“l(fā)s -a”才可看到)。大家若看到其中有下面這5行內(nèi)容,對(duì)應(yīng)于剛才的5個(gè)選項(xiàng):
  
   CONFIG_ISDN=m
  
   CONFIG_ISDN_PPP=y
  
   CONFIG_ISDN_DRV_HISAX=m
  
   CONFIG_HISAX_EURO=y
  
   CONFIG_HISAX_W6692=y
  
   “=y”是表示內(nèi)核直接支持(代碼已鏈入內(nèi)核中),“=m”表示模塊支持(代碼在另外的內(nèi)核中,可由內(nèi)核載入)。這就表明,藍(lán)點(diǎn)Linux 2.0的原有內(nèi)核已包含這些選項(xiàng),大家就不用重新編譯這些內(nèi)核了。
  
  isdn4linux安裝:
    [wind@NetShare isdn]$ rpm -qagrep isdn
    isdn4k-utils-3.1-53
    isdn4k-utils-devel-3.1-53
   確認(rèn)這兩包已經(jīng)安裝!這是isdn在Linux下工作所必要的。
  
  isdn基本配置的一些簡要說明:
    對(duì)于isdn的概念,相信大家都應(yīng)該比較了解,現(xiàn)在偶想在說的一點(diǎn)就是在linux下應(yīng)用過程中所要涉及的幾個(gè)文件,所應(yīng)該的設(shè)置是:/dev/ippp0 /dev/ippp1,這是因?yàn)橐话愕膇sdn都有兩個(gè)通道,所用的幾個(gè)文件分別為:
    
    /etc/isdn下面的所有文件:
    這里面基本上不用動(dòng),主要是isdn的一些基本硬件信息及配置信息,對(duì)于偶們來說可不去管他
    
    /etc/ppp/isdn.conf:這個(gè)文件手動(dòng)編輯的,主要是為isdn指定一些變量,如電話號(hào)碼等
    /etc/ppp/pap-secrets:用來存儲(chǔ)撥號(hào)的用戶名和口令
    /etc/ppp/ioptions:用來設(shè)置isdn撥號(hào)過程中一些高級(jí)設(shè)置
    /etc/init.d/isdn:這是偶在應(yīng)用過程中寫出的一個(gè)用來撥號(hào)的腳本,會(huì)附給大家!
    /usr/local/etc/routemon.pl:這是偶寫的一個(gè)應(yīng)用腳本,用來守護(hù)isdn撥號(hào)后,默認(rèn)網(wǎng)關(guān)的添加用的,必須用crontab讓他時(shí)時(shí)去執(zhí)行用的!
  
  isdn撥號(hào)的原理:
   echo 1 > /PRoc/sys/net/ipv4/ip_ dynaddr
  
   撥號(hào)上網(wǎng)大部分都是使用動(dòng)態(tài)IP地址,我們不知道遠(yuǎn)程撥號(hào)服務(wù)器的IP地址是多少,也不可能知道它會(huì)給電腦分配什么IP地址。在“/proc/sys/net/ipv4/ip_dynaddr”中寫入“1”,就是告訴內(nèi)核要使用動(dòng)態(tài)IP地址。
  
   modprobe hisax type=36 protocol=2
  
   安裝ISDN卡的驅(qū)動(dòng)程序。前面已經(jīng)說過,上海貝爾SBT6021型ISDN內(nèi)置卡中使用的芯片W6692是由HiSax驅(qū)動(dòng)程序驅(qū)動(dòng)的,type=36是指使用W6692芯片,protocol=2指ISDN協(xié)議是用“DSS1”,具體內(nèi)容可參看“/usr/src/linux/ Documentation/isdn/README.HiSax”文件。

  
   isdnctrl addif ippp0
  
   ISDN通過同步“PPP”方式上網(wǎng),其對(duì)應(yīng)的接口(Interface)會(huì)是“/dev/ippp0”、“/dev/ippp1” 等。這條命令告訴內(nèi)核,加入“ippp0”這個(gè)Interface,換句話說,告訴內(nèi)核有個(gè)ISDN設(shè)備,預(yù)備通過同步PPP方式上網(wǎng)。從此以后,“ippp0”就代表了筆者的ISDN設(shè)備。
  
   isdnctrl addphone ippp0 out 163
  
   指撥叫的電話號(hào)碼,這里是163,通過中國電信撥號(hào)上網(wǎng)的大部分也都是163。
  
   isdnctrl eaz ippp0 2024245
  
   指自己這臺(tái)ISDN的電話號(hào)碼為2024245。
  
   isdnctrl l2_prot ippp0 hdlc
  
   第2層協(xié)議用的是“hdlc”。
  
   isdnctrl l3_prot ippp0 trans
  
   第3層協(xié)議用的是“trans”。
  
   isdnctrl encap ippp0 syncppp
  
   用同步PPP方式。
  
   isdnctrl dialmode ippp0 manual
  
   手工撥號(hào)方式,在此方式下,撥號(hào)時(shí)用“isdnctrl dial ippp0”命令,掛斷時(shí)用“isdnctrl hangup ippp0”命令。另外還有“auto”(自動(dòng)方式),不過,還是先用手工方式比較直觀穩(wěn)定。
  
   isdnctrl dialmax ippp0 3
  
   1次撥號(hào)有可能連不通,不要緊,程序會(huì)自動(dòng)重?fù)艿模@里規(guī)定了最多重?fù)?次。
  
   isdnctrl huptimeout ippp0 500
  
   線路空閑一段時(shí)間后,會(huì)自動(dòng)掛斷,缺省是空閑10秒后掛斷。
  
   普通網(wǎng)絡(luò)配置
  
   Linux的普通網(wǎng)絡(luò)配置主要包含兩個(gè)方面:1)對(duì)各接口本身的配置,Interface是指以太網(wǎng)卡、Modem、ISDN等設(shè)備;配置信息包括網(wǎng)絡(luò)地址、子網(wǎng)掩碼、網(wǎng)關(guān)等;相應(yīng)的配置工具為ifconfig程序。2)對(duì)路由表的配置。路由表規(guī)定了到各個(gè)目的地的數(shù)據(jù)包應(yīng)走哪個(gè)網(wǎng)關(guān),使用哪個(gè)Interface等,相應(yīng)的配置工具為route程序。
  
   在進(jìn)行配置之前,先看一下目前的配置情況是什么樣的。筆者的Linux機(jī)器在一個(gè)局域網(wǎng)上,局域網(wǎng)的域名為server.net,地址為203.0.0.111,這臺(tái)機(jī)器的主機(jī)名為admin,地址為203.0.0.1。
  
   用ifconfig命令查看Interface配置,顯示信息如下:
  
   eth0 Link encap:Ethernet HWaddr 00:20:AF:F1:0A:4A
   inet addr:203.0.0.1 Bcast:203.0.0.255 Mask:255.255.255.0
   ...
  
   lo Link encap:Local Loopback
   inet addr:127.0.0.1 Mask:255.0.0.0
   ...
  
   顯示信息表明:有2個(gè)Interface,“eth0”代表以太網(wǎng)卡;“l(fā)o”是個(gè)虛擬的“l(fā)oopback”設(shè)備。
  
   接著用route命令看路由表配置,顯示信息如下:
  
   Kernel IP routing table
   Destination adminway Genmask Flags Metric Ref Use Iface
   admin.server.net * 255.255.255.255 UH 0 0 0 eth0
   203.0.0.111 * 255.255.255.0 U 0 0 0 eth0
   127.0.0.0 * 255.0.0.0 U 0 0 0 lo
  
   信息表明,有3條路由信息。要用上ISDN(ippp0),必須用“ifconfig”對(duì)“ippp0”進(jìn)行配置,并用“route”增加1條使用它的路由。配置ippp0:
  
   ifconfig ippp0 0.0.0.0 pointopoint 0.0.0.0 netmask 0.0.0.0
  
   使用PPP(pointopoint)協(xié)議,“point to point”前面是本機(jī)地址,后面是遠(yuǎn)程服務(wù)器地址,這里全是0.0.0.0,行嗎?行,因?yàn)榍懊嬉呀?jīng)作了配置“echo 1 > /proc/sys/net/ipv4/ip_ dynaddr”,告訴內(nèi)核將使用動(dòng)態(tài)IP地址,因此在這里用0.0.0.0并無所謂,當(dāng)這個(gè)PPP連接建立起來后,它會(huì)自動(dòng)用真正的IP地址代替這些0.0.0.0的。
  
   此時(shí)再用ifconfig查看,得到如下類似信息:
  
   eth0 Link encap:Ethernet HWaddr 00:20:AF:F1:0A:4A
   inet addr:203.0.0.1 Bcast:203.0.0.255 Mask:255.255.255.0
   ...
   ippp0 Link encap:Point-to-Point Protocol
   UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
   RX packets:0 errors:0 dropped:0 overruns:0 frame:0
   TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:30
  
    lo Link encap:Local Loopback
   inet addr:127.0.0.1 Mask:255.0.0.0
   ...
  
   發(fā)現(xiàn)多了1個(gè)“ippp0 Interface”,但由于未曾建立真正的連接,它的本機(jī)地址和遠(yuǎn)程服務(wù)器地址都未給出。
于是增加1條使用ippp0的路由:
  
   route add default ippp0
  
   這里指定缺省(default)的數(shù)據(jù)包都經(jīng)過“ippp0”傳送。缺省的數(shù)據(jù)包?什么意思?前面,筆者用route查看時(shí)有3條路由信息,這些信息指定了發(fā)往3個(gè)目的地(Destination)的數(shù)據(jù)包該怎么走,其他沒有指定怎么走的數(shù)據(jù)包(在這里,就是除了那3種數(shù)據(jù)包之外的所有數(shù)據(jù)包),即為缺省數(shù)據(jù)包,比如要到168.160.224.103(新浪網(wǎng)sina.com.cn)的數(shù)據(jù)包,就屬于缺省數(shù)據(jù)包。于是這條命令就做到了這一點(diǎn):假如要上新浪網(wǎng)看新聞,就得經(jīng)過“ippp0(ISDN)”,這正是筆者所希望的。這時(shí)候再用route查看一下情況如何:
  
   Kernel IP routing table
  
   Destination adminway Genmask Flags Metric Ref Use Iface
   admin.server.net  255.255.255.255 UH 0 0 0 eth0
   203.0.0.111  255.255.255.0 U 0 0 0 eth0
   127.0.0.0  255.0.0.0 U 0 0 0 lo
   default  0.0.0.0 U 0 0 0 ippp0
  
   其中,“default”路由信息多了1條,注重其對(duì)應(yīng)的gateway是“”。需要有一個(gè)后臺(tái)服務(wù)程序“ip

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大关县| 大悟县| 博爱县| 江口县| 武威市| 安化县| 大洼县| 临汾市| 黄浦区| 平乡县| 柳林县| 普兰县| 江陵县| 长兴县| 靖州| 邓州市| 景宁| 乌兰察布市| 三门县| 饶平县| 江门市| 临潭县| 台前县| 蕲春县| 驻马店市| 嵩明县| 彝良县| 平邑县| 冷水江市| 蒙阴县| 阿坝| 新安县| 琼中| 项城市| 健康| 北宁市| 莱阳市| 铁岭市| 乡城县| 龙海市| 麻江县|