应用场景:两台linux设备,一台当做PPP服务器,另一台当做客户端。
LINUX服务端设置
-
首先使用stty命令将ttyS0的波特率设置为115200
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8 -
配置修改PPP相关文件
/etc/ppp/options 配置内容
#debug
#logfile /dev/null
#noipdefault
#noaccomp
#nopcomp
#nocrtscts
lock
auth
#maxfail 0
#lcp-echo-failure 5
#lcp-echo-interval 1
/etc/ppp/pap-secrets 配置内容
#authentication using PAP
client server secret IP addresses
test * test *
#注释说明:第一个test代表 client的用户名 第二个test是代表密码
/etc/ppp/options.ttyS0 配置内容
lock
local
#crtscts
asyncmap 0
passive
proxyarp
192.168.1.1:192.168.1.11
netmask 255.255.255.0
ms-dns 192.168.1.1
require-pap
9600
Linux客户端设置
-
首先使用stty命令将ttyS0的波特率设置为115200
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8 -
配置修改PPP相关文件
/etc/ppp/options 配置内容
#debug
#logfile /dev/null
#noipdefault
#noaccomp
#nopcomp
#nocrtscts
lock
#maxfail 0
#lcp-echo-failure 5
#lcp-echo-interval 1
/etc/ppp/pap-secrets 配置内容
Secrets for authentication using PAP
client server secret IP addresses
test * test *
/etc/ppp/options.ttyS0 配置内容
9600
local
#crtscts
defaultroute
user test
noauth
分别启动服务端客户端
LINUX服务端: /usr/sbin/pppd /dev/ttySAC0 debug nodetach &
root@OpenWrt:/# Using interface ppp0
Connect: ppp0 <–> /dev/ttyS0
PAP peer authentication succeeded for test
Cannot determine ethernet address for proxy ARP
local IP address 192.168.1.1
remote IP address 192.168.1.11
LINUX客户端: /usr/sbin/pppd /dev/ttyS0 nodetach &
root@OpenWrt:/# Using interface ppp0
Connect: ppp0 <–> /dev/ttyS0
Remote message: Login ok
PAP authentication succeeded
local IP address 192.168.1.11
remote IP address 192.168.1.1
检测结果:
服务端和客户端都成功出现PPP0,且可互相PING通对方地址。
服务端:
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.1.1 P-t-P:192.168.1.11 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:48 (48.0 B) TX bytes:42 (42.0 B)
客户端:
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.1.11 P-t-P:192.168.1.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:798 (798.0 B) TX bytes:804 (804.0 B)
注意:当服务端可以ping通外网时,为了能使得客户端也能ping 通外网
需要在服务端增加 iptables 的 nat转发
执行命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -j MASQUERADE