荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: cascblanca (cascblanca), 信区: Linux
标  题: 如何在Redhat 6.1条件下设置PPP拨入服务器?
发信站: BBS 荔园晨风站 (Fri Oct 29 18:38:27 1999), 站内信件


作者:吴阿亭 [Linux应用版版主]

前言:

在前面的文章中,也许是写得不够详细,不少网友在设置PPP拨入服务器和向
Windows PC回拨时都遇到不同程序的问题,要说明的是,设置PPP功能是一个很敏感
的操作,如果某个地方稍有不慎,就会失败,这次以最新的Redhat 6.1版本为例,
尽量详细地写出设置过程,供大家参考,希望能对更多的人有所帮助。

目的:

在公司局域网中,有一台Linux服务器通过专线连到ISP(也许你是通过拨号或
ISDN),作为PPP拨号服务器让整个局域网中的用户共享上网(作为Squid代理服务
器或者直接利用IP伪装方式),假设其IP地址为192.168.11.5 , 局域网上有另一
台PC,装上双系统Windows 98/Linux (192.168.11.12),白天工作时用Windows
98,下班后启动到Linux,用家中的PC拨该Linux服务器然后让它回拨家中PC上网,这
台双系统机器的默认网关设为192.168.11.5 。

实现方法:

一:设置双系统机器为Linux PPP拨入服务器。

1. 安装系统时选择‘dialup workstation'选项,则PPP 包则默认安装。

2. 设置/etc/inittab文件,假设连一USR黑猫到com2口,则加下下面的行到
/etc/inittab后面


[root@jephe /etc]# more inittab | grep mgetty

s1:2345:respawn:/sbin/mgetty -D -x 3 /dev/ttyS1

然后运行#/sbin/init q重读该文件以初始化modem。

3. 更改/etc/mgetty+sendfax目录下的login.config文件中/AutoPPP/这一行,象
下面这样:

[root@jephe mgetty+sendfax]# pwd

/etc/mgetty+sendfax

[root@jephe mgetty+sendfax]# ls

dialin.config login.config mgetty.config

[root@jephe mgetty+sendfax]# more login.config | grep Auto

/AutoPPP/ - - /usr/sbin/pppd file /etc/ppp/options.auto

4. 以root身份创建并设置/etc/ppp/options.auto文件,象下面这样:
[root@jephe mgetty+sendfax]# cd /etc/ppp

[root@jephe ppp]# ls

chap-secrets ip-down nohup.out options.bak pap-secrets.bak ppp-on-dialer


connect-errors ip-up options.auto peers

root@jephe ppp]# more options.auto

-detach

modem

noauth

lock

login

proxyarp

crtscts

asyncmap 0

192.168.11.12:192.168.11.242

ms-dns 192.168.11.1

注:192.168.11.1为LAN上一台DNS服务器,若你的DNS服务器也是上面的那台192.
168.11.5,就设为192.168.11.5 ,这里我设了noauth,就是不希望windows pc拨号
上来后需要做任何口令验证工作,任何用户名及口令均可,login选项就是用
/etc/passwd文件中的用户名和密码进行PPP登录验证,若你需要验证,就用auth,
且用useradd命令创建一普通用户帐号即可,Shell就用默认的/bin/bash,不需要
改。

5. 删除/etc/ppp目录下的options文件和pap-secrets文件或者把它们换名为
options.bak和pap-secrets.bak。因为在回拨时有冲突,特别是options和
options.auto不能同时存在。

至此,PPP拨入服务器设置完毕,现在你能从家中的PC拨号上来上网了,得到的IP
地址为192.168.11.242, 因此若你在192.168.11.5上用Squid,则在/etc/squid.
conf中必须让192.168.11.242可通过代理上网,若用 IP伪装方式,则也同样要
enable IP 地址192.168.11.242可以伪装上网。还有一点要注意,这里用的
proxyarp(代理ARP)意思是192.168.11.12代理了所有局域网上的其它机器到
192.168.11.242的TCP/IP请求。在下面介绍的回拨之后,这种功能丢失,因此你必
须在192.168.11.5机器上手动增加一条到主机 192.168.11.242的路由:
#/sbin/route add -host 192.168.11.242/32 gw 192.168.11.12

二 设置双系统机器可以向家中的Windows PC回拨。



1. 复制ppp相关文件到指定目录中且设置它们的执行权限。
[root@jephe scripts]# pwd
/usr/doc/ppp-2.3.10/scripts
[root@jephe scripts]# ls
README    chat-callback  ip-down.local.add  ppp-off  ppp-on-dialer
secure-card
callback  chatchat       ip-up.local.add    ppp-on   redialer
[root@jephe scripts]# cp ppp-off ppp-on /usr/bin
[root@jephe scripts]# cp ppp-on-dialer /etc/ppp
[root@jephe scripts]# chmod +x /usr/bin/ppp-off /usr/bin/ppp-on
/etc/ppp/ppp-on-dialer

2. 更改/usr/bin/ppp-on 和 /etc/ppp/ppp-on-dialer如下:
[root@jephe ppp]# pwd
/etc/ppp
[root@jephe ppp]# more ppp-on-dialer
#!/bin/sh
exec /usr/sbin/chat -v                                \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''
注:更改chat路径为全路径,仅留 CONNECT '', 后面的行全删除,因为我们
Linux向
Windows PC拨号时勿需任何口令验证。

[root@jephe ppp]# more /usr/bin/ppp-on
#!/bin/sh
TELEPHONE=12345678
LOCAL_IP=192.168.11.12
REMOTE_IP=192.168.11.242
NETMASK=255.255.255.0
export TELEPHONE
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
exec /usr/sbin/pppd noauth debug lock modem crtscts /dev/ttyS1 115200
\
         $LOCAL_IP:$REMOTE_IP \
        netmask $NETMASK  connect $DIALER_SCRIPT
注: 仅使用上面的几行即可,exec行没有noipdefault,否则会出错,且要用
noauth选项,
因为Redhat 6.1默认是需要验证身份,Linux向windows拨号时,windows不要求身
份验证,
故必须加上。

3.创建文件/usr/bin/call98并给予执行权限。
[root@jephe ppp]# more /usr/bin/call98
#!/bin/sh
kill `cat /var/run/ppp0.pid`
nohup sleep 5; /usr/bin/ppp-on

设置完毕,从Windows PC向它拨号,成功后登录为root后执行call98即可。

三. 设置windows PC.

1.  在拨号网络中为拨号连接的modem附加设置指定参数  &C0S0=001 (windows收
到拨号请求,
响铃一次就应答)
2.  在网上邻居的拨号网络适配器中为TCP/IP连接指定DNS,因为回拨后DNS会丢失

3.  回拨后windows PC默认网关丢失,你可以用netstat -nr检查,因此需要在回
拨成功后在
DOS窗口运行 route add 0.0.0.0 mask 0.0.0.0 192.168.11.242
可做成批处理文件运行。
4.  Windows 向Linux服务器拨号时不用设置弹出终端窗选项,因为在Linux服务器端用的是
PAP方式认证。



--
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.28.106]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店