Fedora core 5下的ADSL拨号详解

我们最在Fedora core 5(下文简称FC5)下最常用的的应该是图形界面的:system-config-network(下文简称SCN)你可以在主菜单里找到它,当然也可以在命令行下直接启动,这是一个二进制文件,它本身是GTK实现的一个图形窗口,真正和来拨号的是ifup 这个命令(应该说是脚本吧)。

我们在使用SCN创建一个拨号连接的时候,它调用ADSL-SETUP这个命令来实现,而它还应该使用一些python脚本来具体实现一些文件操作,例如保存用户名,密码这些信息。建立新的拨号连接后这些信息其实都保存在了默认的配置文件中:

基本信息保存在/etc/sysconfig/network-scripts/ifcfg-XXX,后面这个就是你新建拨号连接的名称,当然如果你建立的是本地连接,它的配置文件也是在/etc/sysconfig/network-scripts这个文件夹下面。

用户的密码信息保存在/etc/ppp/chap-secrets以及/etc/ppp/pap-secrets这两个文件下面,保存的格式也是完全相同。为什么使用两个文件来保存密码信息呢?原因是ppp密码验证有两种方式,分别是chap,与pap,关于这两种密码验证方式可以参考文章:

接下来就是激活你新建立的连接,鼠标放在激活那个按钮上可以很清楚的看到使用的是ifup这个命令,这也是一个脚本,它主要完成的是一些网络的初始化,硬件的检查,以及确定需要激活的网络类型,例如是拨号连接还是本地以太网。

如果ifup确定需要激活的是一个ADSL连接,那么它就会调用adsl-start这个命令,它主要完成决定是否启用debug模式,测试是否已经存在ADSL连接,然后调用adsl-connect这个命令,之后它会调用adsl-status这个命令来测试连接是否成功建立,如果超时则杀死adsl-connect进程,如果成功则添加默认的路由表。

adsl-connect首先测试相的配置文件目录是否存在,并且详细测试ifcfg-XXX文件中是否缺少相关的配置选择,检测内核版本,设置相关参数,最后调用pppd(这才是ppp连接中真正的一个二进制文件,其它基本都是脚本。)

断开连接在SCN中是ifdown,它也是首先确定需要断开的连接类型,如果是ADSL,则调用adsl-stop命令,然后杀死相关的进程。

这就是完整的ADSL拨号过程,如果有什么问题请指正。

Comments

wangcong: 不错~~有机会我也看一下ifup的代码。

坚持原创技术分享,您的支持将鼓励我继续创作!