在linux下實(shí)現(xiàn)動(dòng)態(tài)IP的域名自動(dòng)指向
中國(guó)Linux論壇首頁(yè) 技術(shù)論壇| 文章薈萃| 藏經(jīng)閣| CMPP計(jì)劃| Mirror計(jì)劃| 在線調(diào)查| 軟件倉(cāng)庫(kù)| 關(guān)于本站|中國(guó)Linux論壇--文章薈萃文章薈萃首頁(yè) | 分類文章 | 搜尋文
中國(guó)Linux論壇首頁(yè) 技術(shù)論壇| 文章薈萃| 藏經(jīng)閣| CMPP計(jì)劃| Mirror計(jì)劃| 在線調(diào)查| 軟件倉(cāng)庫(kù)| 關(guān)于本站|
中國(guó)Linux論壇--文章薈萃
文章薈萃首頁(yè) | 分類文章 | 搜尋文章 | 我的文章 | 在線用戶
文章薈萃
>> 最新文章 此話題閱讀次數(shù): 1704
上個(gè)話題上一篇 觀看所有的話題索引 下個(gè)話題下一篇 *平坦模式 樹狀模式,一封一封讀樹狀模式
加到“個(gè)人收藏夾” | 打印
文章標(biāo)題 在linux下實(shí)現(xiàn)動(dòng)態(tài)IP的域名自動(dòng)指向 by 甘杰漢
回應(yīng)這篇文章評(píng)注
張貼者: David.系統(tǒng) (站長(zhǎng))
張貼日期 09/04/02 12:26 PM
廣西欽州市文峰路100號(hào) 甘杰漢
在Internet上,用戶的域名和IP地址是一一對(duì)應(yīng)的。但以虛擬撥號(hào)的方式上網(wǎng),則產(chǎn)生了動(dòng)態(tài)IP地址。這對(duì)于沒有太多錢申請(qǐng)域名的電腦愛好者造成了麻煩。前一段日子,由于筆者所在地區(qū)的ADSL改為虛擬撥號(hào)方式,這麻煩也困擾了筆者好一陣。經(jīng)多次調(diào)試,終于實(shí)現(xiàn)了在Linux下動(dòng)態(tài)IP地址的域名自動(dòng)指向。現(xiàn)將其記錄下來(lái),與大家共享:
之前,筆者在http://www.deerfield.com/download/dns2go/linux/index.htm為自設(shè)的服務(wù)器申請(qǐng)了免費(fèi)域名,把dns2go放在/etc/rc.d/rc.local里,開機(jī)即可啟動(dòng)固定的免費(fèi)域名。但ADSL改為虛擬撥號(hào)的方式后,沒有固定IP地址,啟動(dòng)dns2go很麻煩,先用ifconfig指令查出ppp0得到的IP,再在/etc/dns2go.conf下修改IP,然后才能啟動(dòng)dns2go。每次的啟動(dòng)都要使用手工操作,很不方便。在沒有人的干預(yù)情況下,不能自動(dòng)啟動(dòng)它。寫了個(gè)C程序來(lái)解決問(wèn)題,例中所有程序都假設(shè)安裝在/usr/local/bin/下,編寫個(gè)shell程序來(lái)調(diào)用C程序,目錄含有xnbh(shell程序),trans(C程序編譯后執(zhí)行程序),outfile(中間臨時(shí)文件),pppoe.txt(中間文件),dns2go.conf(典型的配置文件)
xnbh的shell程序如下:
adsl-start#啟動(dòng)adls的虛擬撥號(hào)程序,
ifconfig ppp0 |grep -v "Link">/usr/local/bin/pppoe.txt#在目錄中產(chǎn)生pppoe.txt文件
/usr/local/bin/trans#調(diào)用C程序提取文件pppoe.txt中的IP值,然后替換dns2go.conf中的IP值,產(chǎn)生中間文件outfile
cp /etc/dns2go.conf /etc/dns2go.confold #備份原來(lái)的dns2go.conf文件
cp /usr/local/bin/outfile /etc/dns2go.conf #替換后的dns2go.conf文件
nohup /usr/local/bin/dns2go >/var/tmp/dns2go.log 2>&1 啟動(dòng)固定域名
在xnbh執(zhí)行第二句后產(chǎn)生的pppoe.txt如下:
inet addr:218.65.217.109 P-t-P:172.0.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:26 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1400 (1.3 Kb) TX bytes:1358 (1.3 Kb)
trans.c原程序如下