刚开始使用linux,用的是ubuntu12.10版本,从界面风格到环境配置都和windows下差别很大,刚装好系统就碰到了第一个问题,想要上网,但是发现使用图形化的配置界面配置不了,算了,入乡随俗吧,使用命令行配置,网上查了一些资料,配置好ok,但是发现一开机,又上不了网了。找原因,发现配置好的DNS每次开机的时候都会被系统覆盖,导致原来的配置消失了。算了,现学现买,自己写配置脚本,让系统启动时去自动调用,将网络配置好。
基础知识
配置网络主要针对两个文件:/etc/network/interfaces负责保存ip,网关,掩码等信息,/etc/resolv.conf保存DNS信息
/etc/rc.local文件每次系统启动时会去调用的脚本,我们将我们的配置ip的脚本放在这个文件上调用
如果没有写入interfaces和resolv.conf权限的话,可能要先修改一下权限,使程序具有写入权限,这个没有测试过,不知到是不是必须的,只要有写入权限,这种配置是 完全没有问题的
1.静态IP配置方法
首先新建一个文件假设命名为staticip.sh,假设保存在/usr/local/netconfigs目录下
文件的内容为
true>/etc/network/interfaces #清空interfaces文件中的内容
echo "auto lo">>/etc/network/interfaces
echo "iface lo inet loopback">>/etc/network/interfaces
echo "auto eth0">>/etc/network/interfaces
echo "iface eth0 inet static">>/etc/network/interfaces #配置的是静态地址
echo "address 100.100.1.197">>/etc/network/interfaces #改为你自己的ip
echo "netmask 255.255.255.0">>/etc/network/interfaces #改为你的掩码
echo "gateway 100.100.1.254">>/etc/network/interfaces #改为你的网关
echo "nameserver 119.6.6.6">>/etc/resolv.conf #配置DNS 改为你自己的DNS
然后这个文件的权限改为可执行的 sudo chmod a+x /usr/local/netconfigs/staticip.sh
接着修改/etc/rc.local。使用命令sudo gedit /etc/rc.local
在 exit 0那一行上面增加两行代码 ,第一句表示执行我们的网络配置,第二句表示使用新配置连接网络
/usr/local/netconfigs/staticip.sh
/etc/init.d/networking restart
保存完毕,重启机器,大功告成。
2.DHCP的配置方法(即自动分配地址的网络连接方式)
大体上和静态ip的配置方法差不多,如下所示:
首先新建一个文件假设命名为dhcpip.sh,假设保存在/usr/local/netconfigs目录下
true>/etc/network/interfaces
echo "auto lo">>/etc/network/interfaces
echo "iface lo inet loopback">>/etc/network/interfaces
echo "auto eth0">>/etc/network/interfaces
echo "iface eth0 inet dhcp">>/etc/network/interfaces
然后将这个文件的权限改为可执行的 sudo chmod a+x /usr/local/netconfigs/dhcpip.sh
接着修改/etc/rc.local。使用命令sudo gedit /etc/rc.local
在 exit 0那一行上面增加两行代码 ,第一句表示执行我们的网络配置,第二句表示使用新配置连接网络
/usr/local/netconfigs/dhcpip.sh
/etc/init.d/networking restart
保存完毕,重启机器,大功告成。