ubuntu静态IP配置

阅读更多
配置静态IP地址的路径
/etc/network/interfaces
配置如下:
auto eth0//使用第一个网卡
iface eth0 inet static//静态分配IP
address 172.16.21.234//要使用的IP地址
gateway 172.16.21.1//网关
netmask 255.255.255.0//子网掩码
network 172.16.21.0//这个还没明白什么意思
broadcast 172.16.21.255//广播地址 


然后重启一下网络服务
/etc/init.d/networking restart
这样配置后就可以联通统一网段的内网机器了。

如果要链接外网,还需要配置DNS的信息。需要在
/etc/resolv.conf
中配置DNS服务器的信息。如下示例,直接在文件中删除以前的配置,添加下面的配置即可
nameserver 172.16.24.12//这里要填写实际的DNS的IP地址

然后再次重启网卡使配置生效
/etc/init.d/networking restart
这样有个缺点,/etc/resolv.conf文件当每次重启时,系统会根据DHCP分配的信息重写这个文件,以前内容会被覆盖。因此这个方法治标不治本。

网上有很多防止/etc/resolv.conf被覆盖的方法,比如在启动时停止网络服务自动启动。我在实际使用中这些配置都没有起到作用,每次重启我的配置依然被重写掉。
=====================================================================
于是我想到了linux开机自启动的服务,如果在开机启动时,让脚本自动将DNS信息写入/etc/resolv.conf文件中,那么每次重启机器不就不用再手动填写了吗?
说干就干,网上查到/etc/rc.local脚本是每次启动时最后执行的一个脚本,查看这个脚本的内容,除了注释,只有一个正常的退出语句
exit 0
于是,我在这个退出语句之前添加了输入DNS配置到/etc/resolv.conf的命令
echo "nameserver 172.16.xxx.xxx">>/etc/resolv.conf
,然后重启,查看/etc/resolv.conf,果然,DNS配置信息已经配置好了。现在每次重启就不用再手动配置DNS就可以正常访问外网了。 这里的DNS服务器地址你要根据你的实际情况配置,比如是使用你们公司内网的DNS还是公网的DNS,知道了地址,替换掉上面代码中的nameserver的值就可以了。

你可能感兴趣的:(linux,eth0,network,auto,脚本)