Search This Blog

Monday, July 24, 2006

拨号又有新玩法!

其实rp-pppoe挺好用的,不过我就是这么喜欢折腾
pppd说它把rp-pppoe变成它的一个module了,好呀,于是我决定不要rp-pppoe了
关键在于/etc/conf.d/net文件,更关键的在于/etc/conf.d/net.example,因为后者把前者的配置方法讲得特别特别详细
不过鉴于一些同胞不屑于看英文,我就啰索一下吧
先假设涉及到的设备名是eth0和ppp0

config_eth0=("null") #先把eth0弄成null,不要问我为什么,那个net.example教我的!

config_ppp0=("ppp")
link_ppp0="eth0" #这个表示其实我们还是要靠eth0来办事的,所以总得给它点面子
plugins_ppp0=("pppoe") #传说中的pppd的module啊,果然是百闻不如一见啊
username_ppp0='your_adsl_username' # 不要照搬啊,那就太傻了
password_ppp0='your_adsl_password' # 这个也是
pppd_ppp0=("debug" "defaultroute" "usepeerdns") #debug表示往系统日志里多写点东西,defaulteroute和usepeerdns都表示默认啊默认,把ppp设备做为默认route,dns 连接上了就有了,不用自己指定


好,这个关键性文件好了,然后ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
如果想开机就连接上的话:rc-update add net.ppp0 default
另外,如果原来runlevel里有net.eth0的话,就不要了:rc-update del net.eth0

另外我还折腾了一下动态域名
先去www.3322.org注册一个帐号,建一个域名,信息自己记住啊,我不负责的
emerge ez-ipupdate
然后在/etc/ez-ipupdate/下建立一个.conf文件,名字你自己随便起,假设是qdns.conf
内容如下

user=username:password #这是你在3322.org的帐号和密码
host=yourhost.3322.org #这是你申请的二级域名,当然,你要有钱,非要自己买顶级域名,那我只能膜拜了:)
interface=ppp0 #ppp设备名


运行一下ez-ipupdate -S qdns -c /etc/ez-ipupdate/qdns.conf
再ping一下那个域名,看看能不能解析出来

现在开机能自动拨号了,但是域名的指向还要手动,那就不理想了,于是:
把/etc/ppp/ip-up给翻出来
这个文件由三个if...fi组成,可以发现第一个if...fi是关于usepeerdns的,显然跟我们没关系,而第二个if...fi里有这么一句:/etc/init.d/net.$1 --quiet start
可以看到ppp0就是从这里启动的,那么如果它起动成功的话就可以跟3322.org建立连接了,所以在后面加上:&& ez-ipupdate -c /etc/ez-ipupdate/qdns.conf -S qdns
OK了

No comments: