您的位置:首页 > 理论基础 > 计算机网络

VMware中打造最小Linux系统(二)——配置网络

2011-06-04 14:23 387 查看
在上一节中,我们制作的内核已经具有网络功能,但是需要经过手动配置。

配置过程如下:
首先,我的VMware用 nat方式上网,并且开启了dhcp功能。nat网段为192.168.130.0/255.255.255.0 网关为192.168.130.2

于是在my linux-2.6.38中输入以下命令
#ifconfig eth0 192.168.130.22 netmask 255.255.255.0 broadcast 192.168.130.255 up                  设置IP地址
#route add default gw 192.168.130.2            添加到网关的默认路由
#ping 74.125.71.99                测试外网地址(www.google.com)

如果能ping通说明网络设置成功。
注意,这里ping的时候不能ping www.google.com,因为还没有设置nameseaver

如果每次启动系统都要手动配置网络上很不方便的。因此,我们考虑做一个网络初始化脚本。当然,直接在脚本中执行上面手动配置的命令也是可以的,但我不想那么做。
参考CentOS 5.4的网络初始化过程,我们可以写一个简化版的:

#!/bin/sh
#
# network       Bring up/down networking
#
# config: /etc/network.conf
#    			/etc/network.d/ifcfg-[devname]

if [ ! -f /etc/network.conf ]; then
exit 0
fi

. /etc/network.conf

[ "${NETWORKING}" = "no" ] && exit 0

case "$1" in
start)
for i in /etc/network.d/ifcfg-*
do
if [ -r "$i" ]; then
. $i
if [ "$DHCP" = "yes" ]; then
echo -n "Starting DHCP for interface $INTERFACE: "
udhcpc -b -i "$INTERFACE" /
-p "/var/run/udhcpc.$INTERFACE.pid" /
> /dev/null
else
echo -n "Setting up interface $INTERFACE: "
ifconfig "$INTERFACE" "$IPADDRESS" /
netmask "$NETMASK" /
broadcast "$BROADCAST" up
fi
fi
done

if [ "$USE_GATEWAY" = "yes" -a -n "$GATEWAY" ]; then
echo -n "Setting default route: "
route add default gw $GATEWAY
fi
;;
stop)
if [ "$USE_GATEWAY" = "yes" -a -n "$GATEWAY" ]; then
echo -n "Removing default route: "
route del -net 0.0.0.0
fi

for i in /etc/network.d/ifcfg-*
do
if [ -r "$i" ]; then
. $i
echo -n "Shutting down interface $INTERFACE: "
ifconfig $INTERFACE down
if [ "$DHCP" = "yes" ]; then
kill `cat "/var/run/udhcpc.$INTERFACE.pid"`
sleep 1
fi
fi
done
;;
restart)
$0 stop
$0 start
;;
status)
ifconfig
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

以上脚本需要:
1. /etc/network.conf配置文件
NETWORKING=yes
USE_GATEWAY=yes
GATEWAY=192.168.130.2

2. /etc/network.d/ifcfg-eth0 eth0接口的配置文件
DHCP=no
INTERFACE=eth0
IPADDRESS=192.168.130.22
NETMASK=255.255.255.0
BROADCAST=192.168.130.255

3. 新建/var/run/目录
#mkdir /var/run


注意:如果你是在windows编辑以上文件,请注意完成之后将windows下的回车换行符(/r/n)替换为linux下的换行符(/n),否则脚本执行可能会出错。

好了,需要的文件都编写好了,现在将文件拷到相应的目录下,在/etc/init.d/rcS文件中加入一行
/etc/network start

就可以了。

重启

#reboot


测试网络
#ifconfig
#ping 74.125.71.99


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: