酷勤网 – 程序员的那点事!
首页 > 编程资料 > Solaris > 正文

pppoe+ipfilter在sol8下用ADSL代理局域网机器上网

浏览次数: 2004年05月04日 作者:nimysun 字号:

下面我就说说我是如何使用solaris 8(sparc)代理局域网机器上网的。

========================
硬件准备,SUN SPARC工作站1台,网卡两个,直连线两根(1根用来连接hme0和HUB,另一根用来连接hme1和ADSL modem)。
=================================================
软件准备:
  1、安装Solaris 8操作系统,安装过程中选择最终用户模式,在安装的下一步选择自定义安装,补上两个ppp相关的软件包。
  2、给系统打上最新的sol8 recommended_patch(可选,我的系统是108528-13,并没有升级最新的patch)。
  3、添加一些配置文件。
========================
一、系统基本设置
# touch /etc/ppp/pppoe.if
重启系统后会创建拨号相关的文件

# touch /etc/gateways
重启后会添加IP路由功能

# touch /etc/hostname.hme1
重启后会添加上第二块网卡,该网卡如果已经添加,那么可省去此步。通过ifconfig -a可以查看该网卡是否启用。该网卡hme1是和adsl modem相连的网卡。

# echo "nameserver 202.96.134.133"  >; /etc/resolv.conf
添加上离你最近的DNS服务器,重启生效,可以在此文件中添加多个DNS server。

# cp /etc/nsswitch.dns /etc/nsswitch.conf
此步骤的目的是修改/etc/nsswitch.conf,当然直接改动/etc/nsswitch.conf。

=================================================
二、PPPOE基本设置
确认系统中已经安装上如下的软件:
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 (ONLY needed for SPARC's with 64-bit kernels) 
如果没有,那么从solaris的第二张安装光盘盘中进行补装。有两个ppp的大软件包,选上即可。

# reboot -- -r
重新进入系统之后,going on.......
# ls /dev | grep ppp           确认存在sppp和sppptun
# grep sppp /etc/name_to_major
sppp 146
sppptun 147 

编辑拨号配置文件
# vi /etc/ppp/peers/bohao 添加如下几行
sppptun
plugin pppoe.so
connect "/usr/lib/inet/pppoec hme1" #hme1是与MODEM相连的网卡
persist #自动重播
user "USERNAME" # username
noauth
noipdefault
noccp
novj
noaccomp
nopcomp
defaultroute
存盘退出
由于你的ISP需要对你进行密码验证,所以你还要编辑一下密码文件,但是ISP可能用到的文件是/etc/ppp/chap-secrets和/etc/ppp/pap-secrets
因此分别要到这两个文件中的最后一行中追加:
username * password
我要提醒的是:上行中的字段之间是TAB键分割的,而不是空格。
到此为止,配置已经结束了,接下来就是拨号。
绑定网卡
# sppptun plumb pppoed hme1
# sppptun plumb pppoe hme1
# sppptun query 检查是否绑定成功
# /usr/lib/inet/pppoec -i hme1 探测与hme1相连的ISP网卡的MAC地址信息,主要是确保物理线路是否存在问题。
# /usr/bin/pppd call bohao bohao为/etc/ppp/peers的一个拨号配置文件。
# ifconfig -a 验证是否出现sppp0的网口,如果网络不畅,此处可能需要等一段时间。
可以把上述的操作简单的写成一个教本,开机自动执行。
# vi /etc/rc2.d/S48bohao 添加如下几行
sppptun plumb pppoed hme1
sppptun plumb pppoe hme1
/usr/bin/pppd call bohao
存盘退出
# chmod u+x /etc/rc2.d/S48bohao
到此,服务器的拨号设置告一段落。

===========================================
三、IP Filter的配置。
我的方法比较简单。
上网上下载二进制文件ipf-3.4.31-sol8-sparc32-64.gz
参考网址:http://anders.fix.no/solaris/pkg/sol8/sparc32-64/
在文件的当前目录解压
# gzip -d ipf-3.4.31-sol8-sparc32-64.gz
# pkgadd -d ipf-3.4.31-sol8-sparc32-64.gz
如果没有提示什么错误,那么安装就成功了,接下来继续进行配置
/etc/opt/ipf/ipf.conf是配置规则使用的文件,该文件为空,不建议改动。
编辑文件/etc/opt/ipf/ipnat.conf,并添加如下内容:
map ppp0 192.168.0.0/24 ->; 0/32 proxy port ftp ftp/tcp
map ppp0 192.168.0.0/24 ->; 0/32 portmap tcp/udp 10000:40000
map ppp0 192.168.0.0/24 ->; 0/32
存盘退出,好啦,就这么简单。重启18414。
# reboot
# ifconfig -a
# ipnat -l

需要提示的是:如果采用源码编译的话,那么不敢保证编译成功、安装成功,就一定配置成功。我测试过多个版本的IPFILTER。我上面提到的这个ipfilter最稳定。其他版本多少会有点问题,比如上网正常,而FTP无论如何配置都失败。如果实在要编译,那么请到北大FTP上下载make、autoconf、automake和GCC,到http://coombs.anu.edu.au/~avalon/下载ipfilter的源码。
确认一下你的PATH正确,存在/usr/ucb /usr/ccs /usr/ucb/bin/ /usr/ccs/bin和/usr/local/bin等路径。如果没有,那么需要设置一下PATH。
# PATH=$PATH:/usr/ucb:/usr/ccs:/usr/ucb/bin/:/usr/ccs/bin:/usr/local/bin
# export PATH
确认make程序到底是用的那个。
which make
正常情况下应该是:/usr/local/bin/make。
========================
客户端的设置就是
修改网关为,该服务器的网卡地址。DNS设置为服务器中的/etc/resolv.conf中的DNS地址。
前提要保证网络的联通性。



 youlvniao 回复于:2004-03-16 11:51:57

崇拜,不过我只有一个ss5闲着,装上solaris 8之后慢的跟蜗牛一样,连我都懒的碰了,只能用pc机拨号了。


 wind521 回复于:2004-03-16 12:42:45

不错,收藏


 bulletming 回复于:2004-03-19 11:02:52

老孙,dns是可以随便设的呀


 网络痞子 回复于:2004-03-19 14:57:12

ok,good,


 sgcydd 回复于:2004-05-04 22:52:53

:) 感谢各位的热情指导!




齐乐娱乐