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,
819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...
Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...
IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...