LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2071|回复: 13

用netcfg的朋友有福了,我写了个自动匹配网络的启动脚本,自动启动符合实际网络地址的配

[复制链接]
发表于 2009-1-16 12:45:20 | 显示全部楼层 |阅读模式
netcfg这个包不知道用的人有多少,我觉得它很方便,写几个配置文件,能够根据配置文件直接切换网络参数,比如地址和网关,对于我这样处在几个不同网络环境下的人很有用。

比如,我家里面的网络是192.168.1.1作为网关,单位是10.23.3.254作为网关,在为家里的网络和单位的网络写两个配置文件,换了环境的话用netcfg切换一下就可以了,甚至还可以在启动的时候用菜单来选择,很不错。

但是,人都是不容易满足的,虽然很方便了,但是我想能够让它自动检测所处的网络环境然后启动相应的配置文件来设置好网络。经过两个小时的奋斗,终于实现了这个功能。

程序我已经上传到aur上了,用yaourt -S netcfg-auto直接安装即可,或者下载PKGBUILD:

http://aur.archlinux.org/packages.php?ID=23189


用法:

前提是你之前就比较熟悉netcfg,并且有netcfg的配置文件,如果不熟悉的话去参考wiki上有关于netcfg的说明。

修改rc.conf,在NETWORKS里面依次加入你要自动匹配的配置文件名,比如我的:
NETWORKS=(company home idcA idcB menu)

在DAEMONS里面加入启动脚本
DAEMONS=(syslog-ng @iptables netcfg-auto !net-profiles !net-auto ....

注意,netcfg-auto这个脚本就是自动匹配网络的启动脚本,它替换了net-profiles的功能,所以要把net-profiles禁用调,用netcfg-auto来启动网络。

试试吧,很方便。

不过由于网卡状态准备与搜索网关等原因,启动网络时略有延迟(几秒),所以对速度要求非常苛刻的朋友就不用试了,它会增加你的启动时间。不过也就几秒的时间,换来自动切换网络的功能。
发表于 2009-1-16 13:05:39 | 显示全部楼层
不明白,网络环境上不是普遍有 DHCP 服务吗? 为什么要手动在配置文件里指定呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-16 13:08:37 | 显示全部楼层
公司和客户那的网络,都是分配固定ip绑定mac的,有dhcp也就不用这么烦了
回复 支持 反对

使用道具 举报

发表于 2009-1-16 13:18:43 | 显示全部楼层
netcfg方便但是还是需要输入命令,所以后来改用networkmanager了,鼠标点下就可以

这个可以自动找到网关,并且设定我事先设定好的ip么,我也是需要学校家里有时需要更换,都固定ip,网关,DNS的
回复 支持 反对

使用道具 举报

发表于 2009-1-16 15:04:47 | 显示全部楼层
Post by jarryson;1938764
netcfg方便但是还是需要输入命令,所以后来改用networkmanager了,鼠标点下就可以

这个可以自动找到网关,并且设定我事先设定好的ip么,我也是需要学校家里有时需要更换,都固定ip,网关,DNS的

networkmanager不就可以么
多添加几个你需要的网络配置
在使用的时候选择相应的配置就很好了啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-16 15:12:03 | 显示全部楼层
Post by jarryson;1938764
netcfg方便但是还是需要输入命令,所以后来改用networkmanager了,鼠标点下就可以

这个可以自动找到网关,并且设定我事先设定好的ip么,我也是需要学校家里有时需要更换,都固定ip,网关,DNS的

原理是这样的,首先根据在NETWORKS里面给出的配置文件名一个一个试,每次用netcfg启动相应的网络配置,然后根据配置的网关去ping,如果能ping通则保留当前的网络配置并声明启动完毕;如果网关不通,则尝试下一个配置,直至最后一个配置文件;如果全都不同,保留最后一个网络配置。

不管用什么方案,都要用鼠标点一下或者命令执行一下,这个就是能够自动搜索匹配的配置。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-16 15:13:33 | 显示全部楼层
Post by hhf3498;1938796
networkmanager不就可以么
多添加几个你需要的网络配置
在使用的时候选择相应的配置就很好了啊

这个脚本就是改变这种弱智操作的呀。要是手动去选择一下,很多命令都能干,也没必要写这个脚本了。
回复 支持 反对

使用道具 举报

发表于 2009-1-16 22:58:17 | 显示全部楼层
那不错了,应该蛮方便的,如果可以,就更新一下WIKI比较好,如果是包含DHCP和固定ip的两种网络应该会更慢了把
回复 支持 反对

使用道具 举报

发表于 2009-1-17 05:20:17 | 显示全部楼层
我最喜欢用的是wicd
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-17 23:01:30 | 显示全部楼层
Post by jarryson;1938951
那不错了,应该蛮方便的,如果可以,就更新一下WIKI比较好,如果是包含DHCP和固定ip的两种网络应该会更慢了把

不会慢的,网络的dhcp扫描确实需要一段时间,但是各个配置文件的开销都在几秒的时间,如果扫描正确的话几乎花不了多少时间。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表