如何设置Linux服务器为PPP拨入服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置Linux服务器为PPP拨入服务器相关的知识,希望对你有一定的参考价值。

用电话拨号实现远程控制(winXP拨入linux),2台电脑均装好内置猫及其驱动,从windows用电话线拨入linux服务器,拨号时linux服务器上需要怎么配置才能响应拨号?目前已经在linux上装了mgetty和pppd,但是不会配置,有没有懂的给指点下,不要上网随便搜的链接,有配置经验的给指点下

我按下面这个配置成功了,你可以试下:

一、安装的前提条件

1.确保安装了网卡并工作正常

使用命令

#ifconfig eth0

查看网卡状态,然后关闭ifdown eth0,注意一定要关闭ifdown eth0

2.在系统中不要设置默认路由(网关),让ADSL拨号后自动获得

如果已经设置了默认路由,使用以下方法删除:
在文件 /etc/sysconfig/network 中删除 GATEWAY= 这一行,然后以root执行:

#/etc/rc.d/init.d/network restart

3.已经安装了pppd软件包

如果存在文件 /usr/sbin/pppd,则说明已经安装了pppd;
如果未安装,从RedHatLinux 6.2安装光盘上安装ppp-2.3.11-
4.i386.rpm这个软件包

二、安装PPPOE客户端软件

Linux下的PPPOE客户端软件比较多,而且大多使用GNU License,我们推荐使用rp-pppoe 这个软件包。从http://www.roaringpenguin.com/pppoe/这个网站上,不仅可以下载
RedHat 62平台下的rp-pppoe的二进制软件包,而且可以下载源代码软件包。

1.二进制软件包的安装:

A.下载二进制软件包

http://www.roaringpenguin.com/pppoe/rp-pppoe-3.2-1.i386.rpm

B.进行安装

以root执行:

#rpm -Uvh rp-pppoe-3.2-1.i386.rpm

2.从源代码进行安装:

从源代码进行安装同样适用于其它平台的Linux,但必须在Linux系统中安装gcc编译器。

A.下载源代码软件包

http://www.roaringpenguin.com/pppoe/rp-pppoe-3.2.tar.gz

B.解压缩

#tar xvfz rp-pppoe-3.2.tar.gz
#cd rp-pppoe-3.2

C.进行编译和安装

运行脚本
#./go

将自动进行编译和安装,最后,调用/usr/sbin/adsl-setup进行配置,具体解释见三。

三、配置PPPOE客户端软件

安装完软件包后,必须配置pppoe的配置文件/etc/ppp/pppoe.conf,从而让ADSL拨号时使用配置文件中的用户名、密码等参数。我们不必手工改动这个文件,可以使用adsl-setup这个工具进行配置:

#/usr/sbin/adsl-setup

当出现
>>> Enter your PPPoE user name :
输入ADSL帐号的用户名

当出现
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth0):
输入 eth0 ,这是ADSL相连的网卡的名字

当出现
>>> Enter the demand value (default no):
输入 no

当出现
>>> Enter the DNS information here:
输入 server ,这表示使用ADSL拨号自动获得的DNS服务器IP地址

当出现
>>> Please enter your PPPoE password:
输入ADSL帐号的密码

当出现
>>> Choose a type of firewall (0-2):
输入 0 ,不使用防火墙

当出现
>>> Accept these settings and adjust configuration files (y/n)?
如果输入的信息正确,输入 y ,完成配置,否则,输入 n 重新输入。

四、启动PPPOE客户端软件

使用命令

/usr/sbin/adsl-start 启动PPPOE客户端软件,进行连接,如果成功,将出现
Connected;
如果不成功,请检查网线、ADSL MODEM等物理设备,并查看 /var/log/messages中的信息
/usr/sbin/adsl-stop 关闭和ISP的连接
/usr/sbin/adsl-status 查看当前连接的状态

如果想在Linux系统启动时自动启动ADSL连接,输入以下命令
#chkconfig --add adsl
将在当前的运行级下加入ADSL的自启动脚本

五、测试

当连接成功后,使用命令

#ifconfig -a

在输出中应该含有关于 ppp0 的一堆信息,其中还绑定了 IP 地址,说明已经从拨号中获得了IP地址。

使用命令

#netstat -nr

查看路由表信息,这时的默认路由应该是上面获得的IP地址。
如果没有默认路由,我们可以手动增加:

#route add default gw 上面获得的IP地址

使用命令

#nslookup www.sina.com.cn

如果解析出新浪的IP,说明已经从拨号中正确获得了DNS服务器

最后,使用命令ping某个域名或IP,如果有响应,表示你已经大功告成了。

六、其它说明

1、RedHat Linux 7.1已经集成了rp-pppoe这个软件包,只不过版本有些低,如果你不在意版本高低,可以直接进行三后面的步骤。

2、以后要拔号上网时,只要:

ifdown eth0
ifup ppp0
/usr/sbin/adsl-start
参考技术A 目 的:LAN上有一台Linux服务器,希望用其自带的两个串口提供远程拨入,
让远程用户可以连到LAN上来。
软硬件环境:Redhat Linux 5.2,两个USR外置黑猫(分别接com1,com2),
两条电话线
实现的步骤:

1.加下面的行到/etc/inittab

s0:345:respawn:/sbin/mgetty -D -x 3 ttyS0
s1:345:respawn:/sbin/mgetty -D -x 3 ttyS1
然后,运行 /sbin/init q 让改动生效。

2.更改/etc/mgetty+sendfax/login.config ,去掉/AutoPPP/一行前面
的注释,并改为:
/AutoPPP/ - - /etc/ppp/ppplogin

3.在/etc/ppp目录下用vi创建文件ppplogin,象下面一样:
#!/bin/sh
/usr/sbin/pppd auth -chap +pap login
然后保存文件,且给它执行权限 chmod +x /etc/ppp/ppplogin

4.现在改动/etc/ppp/options 文件,象下面:
-detach
modem
lock
crtscts
asyncmap 0
netmask 255.255.255.0
proxyarp
ms-dns 192.168.11.1 (192.168.11.1 是我的LAN上的一台DNS服务器,如你
没有可不设,它可以给拨入用户自动分配DNS)

5.创建另外两个文件/etc/ppp/options.ttyS0 和 /etc/ppp/options.ttyS1
[root@sh3 /etc/ppp]# more options.ttyS0
192.168.11.3:192.168.11.242

[root@sh3 /etc/ppp]# more options.ttyS1
192.168.11.3:192.168.11.243

(192.168.11.3是这台Linux 服务器的IP地址,192.168.11.242和
192.168.11.243是我指定给拨入用户的两个PPP地址)

6. 至于/etc/ppp/pap-secrets,你可以加入下面的行:
* * "" 192.168.11.242
* * "" 192.168.11.243

注:1. 在第三点中的参数login表示用/etc/passwd中的用户名和密码进行PAP认证.
2. 你也可以不需要/etc/ppp/pap-secrets,就删除它即可,若你用的是老的
Redhat 版本,如Redhat Linux 4.2 ,你必须删除pap-secrets,否则用户
拨进来不能分配IP地址。
3. 用户拨入成功建立PPP连接后,如果你需要访问LAN上其它服务器,那么你
必须打开该PPP服务器的IP转发功能,
echo 1 > /proc/sys/net/ipv4/ip_forward .
4. 如你需要在空闲一段时间后自动解除连接,如10分钟,那么加入idle 600到
/etc/ppp/options。
5. 如果你不需要在拨入后做用户名和密码验证,就去掉第三点中pppd的参数auth即可。
6. 如果你在相应目录下找不到文件如/sbin/mgetty,
/etc/mgetty+sendfax/login.config,则你需要安装 mgetty RPM包。
参考技术B http://www.qualitur.org/masmedios/documentos/pregunta26.pdf
没配置过.有空试试.

Linux Dial in Server Setup

Here is tutorial for build a dial in server with Linux machine:
1. Build you network plan configuration
[dial in server : 192.169.169.1]<-- PSTN Tel Line-->[Client 192.169.169.2]

2. Create an account to in dial in server
Host : 192.169.169.1
Account : dialin
Password/Secret : dialin

3. Setup dial in server as a gateway
[root@server]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@server]# ipchains -A forward -j MASQ

4. Plug in you modem in your dial in server

5. Prepare some need package on server
[root@server]# rpm -qa | grep pppd
[root@server]# rpm -qa | grep mgetty

6. Edit /etc/inittab , add these line (ttyS1 for com1 port):
[root@server]# vi /etc/inittab
##------------------
s1:2345:respawn:/sbin/mgetty ttyS1
##------------------

7. Edit /etc/ppp/options, and add these line
[root@server]# vi /etc/ppp/options
##------------------
auth -chap +pap login modem crtscts debug proxyarp lock
ms-dns 192.169.169.1
##------------------

8. Edit /etc/ppp/options.ttyS1
[root@server]# vi /etc/ppp/options.ttyS1
##------------------
##server:host
192.169.169.1:192.169.169.2
##------------------

9. Edit /etc/mgetty+sendfax/login.config and add these line :

[root@server]# vi /etc/mgetty+sendfax/login.config
##------------------
/AutoPPP/ - a_ppp /usr/sbin/pppd
##------------------

10. edit /etc/ppp/pap-secrets :

[root@server]# vi /etc/ppp/pap-secrets
##------------------
# Secrets for authentication using PAP
# client server secret IP addresses
dialin * dialin 192.169.169.2
##------------------

11. Tell init about the changes
init q

12. You are ready to dial in
参考技术C 系统设置---网络---xdsl---账户密码---激活

以上是关于如何设置Linux服务器为PPP拨入服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux-网络配置

Centos Linux Iptables PPTP Configure

chkconfig-Linu命令详解

网络配置

linu运维:一次linux重启时间过长的排查

Linux pppsetup命令