文档章节

Linux Ubuntu系统之PPP拨号经验分享

Instagram老王博客
 Instagram老王博客
发布于 2018/11/14 08:53
字数 930
阅读 14
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

近期,工作需要,我负责开发PPP拨号模块。 说起拨号,算算时间,我已经做过2次了, 暴露年龄了,呵呵。

第一次是刚毕业做的PPOE拨号,给电信做拨号软件,在河北石家庄工作过一段时间,基于windows xp。

第二次是在移动网优,3G手机路测,即著名的TD-SCDMA,基于AT指令控制手机驱动。

这次,是用的PPPD拨号,在Linux系统下。 pppd 拨号模块,Linux系统是自带的, 就像windows下自带的RAS拨号一样,打印机等很多应用需要通过拨号方式进行通信的。

Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-161-generic x86_64) pppd 2.4.5

参考文档,配置4个文件:

/etc/ppp/peers/myvpn 账号信息

remotename myvpn
linkname myvpn 
ipparam myvpn
pty "pptp *** --nolaunchpppd --loglevel 0"
lock
nodeflate
name ***
usepeerdns
require-mppe
noauth
require-mppe-128
defaultroute
mtu 1416 #特别关键!!!

/etc/ppp/chap-secrets VPN用户名密码

user pass

/etc/ppp/options 默认设置项

lcp-echo-failure 10 # (from /etc/ppp/options)
lcp-echo-interval 10 # (from /etc/ppp/options)
lock
crtscts
nodeflate
persist
asyncmap 0
noauth
hide-password
noipx

/etc/ppp/options.pptp 设置项

lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
require-mppe-128
ipparam myvpn
defaultroute

个人总结的技巧:

  • 一定要升级python3.4 --> python3.7?

我开始很纠结Python版本,代码开发是Python3.7最新版,而Ubuntu自带的是Python 3.4, 故想办法升级python3.7,如果在本地网速很快,这个不是什么难事,1小时工作量。

但是,远程链接SSH,VPS服务器在国外,网速卡的厉害,本来1小时工作,忙乎了一个上午才搞定,升级到python3.6 + pip3 。 但是一想,我还有n个服务器呢,故晚上加班把代码降级为pyhon 3.4,这样部署就方便多了 -- 非原则问题,不要在环境上折腾太久,条条大路通罗马嘛。

这个事情,给我很大的启示:不要做战略的矮子,再勤劳的执行力, 团队的效率也上不来的。

平衡、成本、决策!

  • 部署python程序,background job running

windows开发C#很多年,除了前几年做Unity3D开发的游戏APP(含VR、AR),这些都是有GUI界面的,而在Linux下,第一个门槛就是无UI界面。 调试程序通过,部署后,我关闭ssh下班了,吃完饭,远程ssh,怎么我的python程序不见了,惊讶不已,才***行代码,而且我写的是 while true 循环,不可能自己退出啊。 nohup python3 main.py & ps ax | grep py

上网搜索,多亏google,很快就明白了,SSH通过22端口,开启了一个“session”,一般,如你执行 python3 main.py,随着SSH Session结束,Linux会kill这个process的。 而这个PPP拨号程序需要作为一个长时间运行的,故需要用 nohup 和 & 关键字,这样当你退出ssh,这个程序会驻留系统。

那么问题来了,查询运行的process,常用的 ps all就是不灵了。

要用 ps ax | grep py 才可以。

  • linux常用工具工具

    • [ ] vi 编辑器,linux运维必备神器!
    • [ ] cat /var/log/syslog | grep pppd #输出mylog.log, search pppd
    • [ ] cat /var/log/syslog | tail -n 100 #输出mylog.log 文件最后100行
    • [ ] egrep -v '#|^ *$' /etc/ppp/options #正则,列出配置文件起作用的
    • [ ] * ">" /var/log/syslog #clear syslog
    • [ ] * dhclient -v -4 : refresh network #重新获得IP.

参考文档:

  1. https://superuser.com/questions/949520/wvdial-ppp0-and-setting-default-route-automatically
  2. https://askubuntu.com/questions/891393/vpn-pptp-in-ubuntu-16-04-not-working
  3. http://www.cnblogs.com/simonshi/archive/2010/04/23/1718984.html

© 著作权归作者所有

Instagram老王博客
粉丝 95
博文 20
码字总数 24132
作品 0
西安
技术主管
私信 提问
详细介绍Linux操作系统下拨号上网的方法

设备需求: 电脑一台; “猫”一只; 电话线一根; 电话卡一张(可选,这里用的是一张200电话卡)。 下面是详细步骤: 一、驱动你的猫 最理想的情况是,系统启动完后,/dev/modem已经可用了。...

zt371
2009/05/08
284
0
小成本实现多台机器宽带上网

基本上PC操作系统都可以配置成路由器,想想看,所谓的路由器内部其实也运行着一个操作系统,且宽带路由器要比PC便宜的多,因此要明白宽带路由器所具有的软件功能,PC操作系统一般都具备,宽带...

晨曦之光
2012/04/10
162
0
基于Linux环境的PPPOE服务器搭建

前言 PPPoe的英文全称为Point to Point Protocol over Ethernet,它在以太网上承载了点对点协议,点对点协议即为我们熟悉的PPP协议。PPP协议具有处理错误检测、支持多个协议、允许在连接时刻...

元宵大师
2018/08/07
0
0
一个命令可以攻击所有的Linux系统

在微软本月月经日(8.11)的同一天,国外黑客taviso和julien公开了可以攻击所有新旧Linux系统的一个漏洞,包括但不限于 RedHat,CentOS,Suse,Debian,Ubuntu,Slackware,Mandriva,Gentoo及其衍生系...

红薯
2009/08/16
12K
15
Linux下L2TP VPN客户端的配置

系统环境centos6.8 1,安装xl2tpd和ppp yum -y install xl2tpd ppp 2,配置xl2tpd 编辑配置文件xl2tpd.conf vim /etc/xl2tpd/xl2tpd.conf [lac testvpn] ;testvpn为lac的名称 name = username ......

goldfishe
2017/05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

跑分44W的荣耀V30 5G手机,真香!

     昨天看了红米K30的发布会,感触颇多啊,“卢本伟”就是雷军请来恶心荣耀的吧,恶心的还淋漓尽致,发布会全程diss荣耀V30,结果跑分出来的那一刻,网友们笑了。红米K30 26W+的跑分充...

梅丽莎好
23分钟前
8
0
技术分享 | 巧用 binlog Event 发现问题

作者:高鹏(八怪) 文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。 有了前面对 Event 的了解,我们就可以利用这些 Event 来完成一些...

爱可生
23分钟前
7
0
php之微信公众号发送模板消息

讲一下开发项目中微信公众号发送模板消息的实现过程(我用的还是Thinkphp5.0)。先看一下效果,如图: 就是类似于这样的,下面讲一下实现过程: 第一步:微信公众号申请模板消息权限: 立即申请...

owenzhang24
29分钟前
6
0
Dev 日志 | 如何将 jar 包发布到 Maven 中央仓库

摘要 Maven 中央仓库并不支持直接上传 jar 包,因此需要将 jar 包发布到一些指定的第三方 Maven 仓库,比如:Sonatype OSSRH 仓库,然后该仓库再将 jar 包同步到 Maven ,本文详细记录整个发...

NebulaGraph
40分钟前
6
0
海思3516cv500 SDK开发环境搭建

环境Ubuntu 16.0.4 LTS, SDK文件:Hi3516CV500_SDK_V2.0.1.0.tgz,解压此文件到当前目录运行Hi3516CV500_SDK_V2.0.1.0目录下的sdk.unpack,执行此脚本时报unknown source,但sdk.unpack脚本里...

仪山湖
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部