用FreeBSD建立拨号网关

2009-05-13 04:26:44来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


摘自 FreeBSD China

用FreeBSD建立拨号网关
meaculpa
01/01/2001
家庭网络结构如下:
W2K(192.168.0.100) -----以太网-----> FreeBSD(192.168.0.200) -----PPP拨号-----> internet
实现要求如下:
在FreeBSD主机上使用调制解调器拨号上网,并对局域网内其它计算机提供该拨号连接的共享。
在FreeBSD主机上设置缓冲型的DNS系统以避免对域名的重复查询,减轻网络流量。
在FreeBSD主机上设置Squid软件对局域网提供http代理服务并配置ipfw防止用户绕过代理服务器。
在FreeBSD主机上使用Fetchmail及Qpopper为局域网用户代收外部电子邮件。
安装PPP
众所周知,在FreeBSD下有两种类型的PPP,在这里为简单起见使用用户级PPP(User-PPP),因为内核级PPP(Kernel- PPP)需要更多设定配置方面的工作。
当然在开始之前弄清设备所用的硬件资源可使工作事半功倍。为此,需要了解以下内容:
调制解调器所用端口及速率(我假设为所用端口为串口1、速率为115200)
上网的账号及口令
ISP分配的静态IP地址(如为动态分配则无须知道)
现在要根据这些资料来配置并编译新的内核以支持用户级PPP和防火墙功能,在内核配置文件中加入以下内容:
options IPFIREWALL #防火墙功能
options IPDIVERT #转移套接字(支持NAT)
# 串(COM)口
device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4
# 伪设备 - 数字说明分配之单元数
pseudo-device tun 1 # 分组隧道
编译完新内核后,就可以根据需要修改/etc/ppp/ppp.conf文件了(相应的防火墙功能稍后配置),该文件的样本如下:
default:
set device /dev/cuaa0
set log Phase Chat LCP IPCP CCP tun command
set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\ \T TIMEOUT 40 CONNECT"
set timeout 120
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR
enable dns
nat enable yes
163:
set phone 163
set authname 163
set authkey 163
在此样本文件中,set device说明使用的端口,在此我用了串口1;set speed说明设备使用的速率,我用的是115200;set ifaddr说明PPP连接所用的IP地址,第一个地址为本地地址及网络掩码,而第二个地址为ISP处的拨号服务器地址及掩码。如果使用ISP动态分配的地址,就可以象我这样用掩码为0的地址,它说明可以接受任何地址。否则请指定您的 ISP分配的静态地址。nat enable yes说明该PPP拨号连接可以让局域网络内的其它计算机共享。它使用NAT技术将网络内有连接请求的主机本身的本地 IP转换为PPP连接所用的IP,从而可以访问外部互联网。
适当修改后可以用ppp命令来进行拨号测试了:
#ppp
ppp > dial 163
PPP >
当提示符由小写变为大写时说明已经拨号成功了,这时可以ping一下ISP处的DNS服务器地址,看是否能通。另外还可以用netstat命令检查网络状态:
# netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
127.0.0.1 127.0.0.1 UH 10 389 lo0
192.168 link#1 UC 0 0 ed0
192.100.53.23 202.102.141.141 UH 1 0 tun0
192.168.0.100 52:54:4c:19:6d:d UHLW 2 3968 ed0 1198
要挂断退出可以在提示符下打quit命令,当然还可以用killall -INT ppp来中止当前的连接,否则如果空闲120秒就会自动挂断了(可以用set timeout参数进行调整)。这样,简单的PPP拨号连接配置就完成了。要更多的了解配置PPP方面的内容,可以参考Setting up User PPP(FreeBSD手册中关于用户级PPP的设定细节)。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:打印工作命令

下一篇:FreeBSD:安装全过程记录