Achieve the dynamic IP domain name automatic pointing under
Linux 在linux下实现动态IP的域名自动指向
China Linux Forum Forum | reviews | cangjingge | CMPP | planMirror plan | online survey software | | warehouse on the |China Linux Forum - article meta
The home page | classified articles | meta search articles |my article | online users
Article meta
The latest article read this topic: 1704
On the last topic, read all the topics, index the next topic,next to the flat pattern tree model, and read the tree modelone by one
Add to favorites | print
Article title in Linux, dynamic IP domain name automaticallypoint to by Gan Jiehan
Respond to the commentary in this article
Posted: David. system (webmaster)
Posted date 09/04/02 12:26 PM
Gan Jiehan, 100 Wenfeng Road, Guangxi, Qinzhou
On the Internet, the user' s domain name and IP address areone-to-one correspondence. But the virtual dial-up access tothe Internet, resulting in a dynamic IP address. This has causedtrouble for computer enthusiasts who don' t have much money toapply for domain names. The previous period, due to the authorof the region' s ADSL instead of virtual dial-up, the troublealso troubled the author for a while. After many debugging,finally realized the dynamic IP address domain name automaticpointing under Linux. Now we will record it and share it withyou:
Before thehttp://www.deerf ield.com/download/dns2go/linux/index.htm isa server for a free domain name, put the dns2go in the/etc/rc.d/rc. local, the boot fixed free domain name. But ADSLto virtual dial-up way, there is no fixed IP address, startdns2go is very troublesome, first use the ifconfig command tofind the ppp0 IP, and thenmodify the IP under/etc/dns2go. conf,and then can start dns2go. It' s inconvenient to use manualoperation every time. It can not be started automaticallywithout anyone' s intervention. Write a C program to solve theproblem, in cases of all procedures are assumed installed inthe /usr/local/bin/, a program written in shell to call the Cprogram, the directory containing xnbh (shell program) , trans(Executive C program compiled) , outfile (intermediatetemporary files) , pppoe.txt (intermediate) , dns2go. conf(typical the configuration file)
The shell program for xnbh is as follows:
Adsl-start# starts the virtual dialer for adls,
The ifconfig ppp0 |grep -v "Link" >/usr/local/bin/pppoe.txt#produces the pppoe. txt file in the directory
The /usr/local/bin/trans# invokes the C program to extract theIP value in the file pppoe.txt, and then replaces the IP valuein the dns2go.conf to produce the intermediate file outfileCP/etc/dns2go. conf/etc/dns2go.confold#backup the originaldns2go. conf file
CP /usr/local/bin/outfile /etc/dns2go. conf # after replacingthe dns2go.conf file
Nohup /usr/local/bin/dns2go >/var/tmp/dns2go. log 2>&1 &#start fixed domain
After executing the second sentence in xnbh, the followingpppoe.txt is generated:
INET addr:218.65.217. 109 P-t-P: 172.0.0. 1
Mask:255.255.255.255
UP, POI NTOPOI NT, RUNNING, NOARP, MULT I CAS T, MTU: 1492, Met r i c: 1RX, packet s:26, errors:0, dropped:0, overruns:0, frame:0TX, packets:27, errors:0, dropped:0, overruns:0, carrier:0Collisions:0 txqueuelen:3
RX bytes:1400 (1.3 Kb) TX bytes:1358 (1.3 Kb)The trans. c program is as follows:
#include <stdio.h>
#include <ctype.h>
(ma i n)
{
F ILE, *fp, *bp, *out;
Int i=0;
Int j;char ip [16] ;char dip [16] ;char na [] = "address =";char inip [24] ;char readln [255] ;char readlnn [255] ;
fp = fopen ("/ usr / local / bin / pppoe.txt", "r") ;if (fgets (readln, 255, fp) ! = = null)
{ (i = 0; i < 16; i + +) ip = readln [20 + in] ;}in = 0;for (i = 0; i < 16; i + +)
{if (ip! = ' ' )
{dip = ip; printf ("ip% d =% c% n" in, ip) ; }else {j = i; printf ("j =% d", j) ; } }for (i = 0; i < = j; i + +) dip = ip;dip [j] = '\ 0' ;printf ("a =% s \ n", dip) ;f c l o s e (fp) ;strcpy (inip, na) ;printf ("inip =% s \ n", inip) ;strcat (inip, dip) ;
printf ("inip =% s \ n", inip) ;fp = fopen ("/ usr / local / bin / dns2go. conf", "r") ;out = fopen ("/ usr / local / outfile", "w") ;while ( ! feof (fp)) {if (fgets (readlnn, 255, fp) ! = = null)i f (strncmp ("addres s = aaa.bbb.ccc.ddd", readlnn, 15)) fputs(readlnn, out) ;else fputs (inip, out) ; }f c l o s e (fp) ;fclose (out) ;
}
在linux下用gcc –o trans trans.c编译通过产生文件trans,dns2go. conf的配vchgob #:
#
# simple configuration file for dns2go linux client
#
# for more information refer to the dns2go.conf manual page#
# global directives
#
# dns2go serverserver = discovery.dns2go.com
# key (required, case sensitive)key = aaaaaa - bbbbbb - ccccccc - ddddd (此项为申请的激活码)# log file (optional, default: syslog)
# log = / var / log / dns2go.txt
# send debug outputs two stdoutdebug
# number of connection attempts (optional, default: 8)# retries = 8
# rate two send heartbeats (in minutes) (optional, default: 0= automati c)
# heartbeat rate = 0
#
# domain directives
#
# fully qualified domain name (required)doma in = xxxxx.dnsgo.com (此项填写固定免费域名)
# static ip address (optional, default: external ip address)address = aaa.bbb.ccc.ddd (此项为假设ip)
# online www alias redirection: choose one of the following:# (optional, default: www. alias resolves two domain ip)# www redirect - url = http: / /. . .
# www redirect gate = 8080
# offline redirect option: choose one of the following# (optional, default: offline status page)
# offline - url = http: / /. . .
# offline - ip = 0.0.0.0
以上xnbh程序若加入/ etc / rc.d / rc. local /中则可以启动时自动启动固定免费域名,
此时你可以启动的apache, ftp, telnet等都可以用此免费域名了,出门在外的朋友可以
很方便找到自己的服务器,熟悉shell的朋友也可以用shell完成c程序的功能, 以上的
程序在redhat7.2上顺利通过.david
Article options: print, put this article in the memorandum, andwhen you have time to reply to friends, share the notificationmoderator
The title of Re: Linux under dynamic IP domain name to by [re:David. ] automatic Gansu Johanna
Respond to the commentary in this article
Posted by: zjohnc (journeyman)
Posting date 09/04/02 04:41 PM
In/etc/ppp/ip-up and/etc/ppp/ip-down Riga, dns2go and dns2go-k, you can automatically follow the new. I have used for morethan 2 months, basically no problem, sometimes can not update,
RAKsmart怎么样?RAKsmart机房即日起开始针对洛杉矶机房的独立服务器进行特别促销活动:低至$76.77/月,最低100Mbps带宽,最高10Gbps带宽,优化线路,不限制流量,具体包括有:常规服务器、站群服务器、10G大带宽服务器、整机机柜托管。活动截止6月30日结束。RAKsmart,美国华人老牌机房,专注于圣何塞服务器,有VPS、独立服务器等。支持PayPal、支付宝付款。点击直达...
优惠码50SSDOFF 首月5折50WHTSSD 年付5折15OFF 85折优惠,可循环使用荷兰VPSCPU内存SSD带宽IPv4价格购买1核1G50G1Gbps/3TB1个$ 9.10/月链接2核2G80G1Gbps/5TB1个$ 12.70/月链接2核3G100G1Gbps/7TB1个$ 16.30/月链接3核4G150G1Gbps/10TB1个$ 18.10/月链接阿联酋VPSCPU内存SS...
3C云互联怎么样?3C云互联专注免备案香港美国日本韩国台湾云主机vps服务器,美国高防CN2GIA,香港CN2GIA,顶级线路优化,高端品质售后无忧!致力于对互联网云计算科技深入研发与运营的极客共同搭建而成,将云计算与网络核心技术转化为最稳定,安全,高速以及极具性价比的云服务器等产品提供给用户!专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松...