在VMware虚拟机中安装Solaris 10 for x86时,有一个容易被忽视的关键细节:必须将网卡模式设置为bridge(桥接),否则即便PPPoE拨号配置完全正确,也无法成功连接网络。下面将整个配置过程拆解为详细步骤,帮助您一步步完成。
1. 设置本地网卡IP地址、子网掩码及DNS相关文件
首先,编辑 hostname.pcn0 文件,写入本机的主机名(例如 host12):
# vi hostname.pcn0
接着,配置本地网卡的IP地址。编辑 /etc/inet/hosts,加入类似下面的内容:
127.0.0.1 localhost
192.168.1.1 host1 loghost
然后设置子网掩码,编辑 /etc/netmasks:
192.168.1.0 255.255.255.0
DNS配置需要两个文件。第一个是 /etc/resolv.conf:
nameserver 202.106.0.20
第二个是 /etc/nsswitch.conf,将原来 hosts: files 这一行改为:
hosts: files dns
2. 设定网关
编辑 /etc/gateways 文件,可以在其中设置多个网关地址。
3. PPPoE基础环境确认与安装
首先确认系统中是否已安装以下软件包(默认安装的Solaris 10中很可能没有,需要手动添加):
- SUNWpppd - Solaris PPP Device Drivers
- SUNWpppdr - Solaris PPP configuration files
- SUNWpppdt - Solaris PPP Tunneling
- SUNWpppdu - Solaris PPP daemon and utilities
- SUNWpppdx - Solaris PPP 64-bit(仅SPARC 64位内核需要)
安装完成后重启系统:
# reboot -- -r
重新登录后,确认存在 sppp 和 sppptun 设备:
# ls /dev | grep ppp
# grep sppp /etc/name_to_major
预期会看到类似 sppp 146 和 sppptun 147 的输出。
4. 建立拨号配置文件
先创建 /etc/ppp/pppoe.if 文件,内容只写网卡名称:
pcn0
然后触发内核重新识别硬件:
# touch /reconfigure
接着创建 /etc/ppp/peers/adsl 文件,内容如下:
sppptun
plugin pppoe.so
connect "/usr/lib/inet/pppoec pcn0"
persist # 断线重拨
user "test" # 用户的帐号为 "test"
noauth
noipdefault
noccp
novj
noaccomp
nopcomp
defaultroute
5. 设置用户名和密码
首先重命名默认的模板文件:
# mv /etc/ppp/options.tmpl /etc/ppp/options
# mv /etc/ppp/options.ttya.tmpl /etc/ppp/options.ttya
然后编辑 /etc/ppp/pap-secrets 和 /etc/ppp/chap-secrets,内容相同:
test * 123456
注意:帐号和密码之间用Tab键隔开。因为不清楚电信使用PAP还是CHAP,所以两个文件都写上。
6. 测试网卡与ADSL Modem之间的通信
执行以下命令:
# /usr/lib/inet/pppoec -i pcn0
这时屏幕上通常不会出现什么反馈,最后只返回到 # 提示符。然后重启系统:
# reboot
7. 进行拨号连接
执行拨号命令,adsl 对应之前创建的 /etc/ppp/peers/adsl 文件:
# /usr/bin/pppd call adsl
稍等片刻后,用 ifconfig -a 查看是否获得IP地址:
sppp0: flags=10008d1mtu 1492 index 6
inet XXX.XXX.XXX.XXX --> XXX.XXX.XXX.XXX netmask ffffff00
ether 0:0:0:0:0:0
如果能看到网通自动分配的IP地址,说明拨号成功。
8. 可选:搭建小局域网
如果需要连接一个小的局域网,可以使用IP Filter。网上有两篇不错的文章参考,这里就不展开了。
