在Ubuntu上配置PPPoE服务:从安装到自动化启动的全指南

news2024/11/26 0:26:40

在Ubuntu上配置PPPoE服务:从安装到自动化启动的全指南

PPPoE(点对点协议以太网)是一种广泛用于DSL和光纤宽带连接的协议。在本篇技术博客中,我们将详细介绍如何在Ubuntu系统上配置PPPoE服务,包括安装、配置、启动以及设置自动启动等步骤。

1. 安装pppoe-server

首先,我们需要安装pppoe-server工具。使用以下命令进行安装:

sudo apt-get update
sudo apt-get install pppoe

安装完成后,可以使用pppoe-server -h命令查看软件版本以确认安装成功。

2. 配置服务器

配置基本选项

/etc/ppp目录下编辑配置文件:

编辑/etc/ppp/options
sudo nano /etc/ppp/options

修改以下内容:

  • 找到# ms-dns行,去掉注释并将其改为实际可用的DNS服务器地址,如114.114.114.1148.8.8.8
  • 注释掉+pap,取消注释-pap
  • 取消注释+chap,注释掉-chap

PAP和CHAP是两种不同的认证协议,根据需要选择其一。

编辑/etc/ppp/chap-secrets
sudo nano /etc/ppp/chap-secrets

添加以下内容,设置用户名和密码:

123456  *   123456   *

表示用户名为123456,服务器名为任意,密码为123456,IP为任意的IP。

创建并编辑/etc/ppp/pppoe-server-options

如果文件不存在则创建该文件,并添加以下内容:

sudo nano /etc/ppp/pppoe-server-options
auth
require-chap
logfile /var/log/pppd.log

3. 设置IP策略

开启IP转发功能

打开/etc/sysctl.conf文件,找到并取消注释net.ipv4.ip_forward=1行,然后运行以下命令以启用IP转发:

sudo sysctl -p

配置iptables的IP策略

在超级用户权限下运行以下命令:

sudo iptables -A POSTROUTING -t nat -s 192.168.156.0/24 -j MASQUERADE

其中192.168.156.0/24为实际的网络地址,需要根据你的实际情况填写。

4. 运行PPPoE服务器

使用以下命令启动PPPoE服务器:

sudo pppoe-server -I ens33 -L 192.168.156.117 -R 192.168.156.118 -N 10

参数说明:

  • -I:指定网络端口名称。
  • -L:指定PPPoE服务器的IP地址。
  • -R:指定客户连接到服务器时分配的IP地址范围。
  • -N:指定最多允许的客户连接数。

示例

sudo pppoe-server -I eth0 -L 172.168.0.1 -R 172.168.0.210 -N 20

5. 添加开机自启动

配置rc-local服务

编辑rc-local.service文件
sudo chmod 777 /lib/systemd/system/rc-local.service
sudo nano /lib/systemd/system/rc-local.service

在文件尾部添加以下内容:

[Install]
WantedBy=multi-user.target
Alias=rc-local.service
编辑/etc/rc.local文件

如果文件不存在则创建该文件,并添加以下内容:

sudo nano /etc/rc.local
#!/bin/sh
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
pppoe-server -I ens33 -L 200.200.156.117 -R 200.200.156.118 -N 10
iptables -A POSTROUTING -t nat -s 200.200.156.0/24 -j MASQUERADE
exit 0

/etc/rc.local文件加上执行权限:

sudo chmod +x /etc/rc.local
创建软链接

/etc/systemd/system目录下创建软链接:

sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/

停止 PPPoE 服务器

  1. 查找并终止 PPPoE 服务器进程
    使用以下命令查找 pppoe-server 进程:
    ps aux | grep pppoe-server
    
    终止进程:
    sudo kill <pppoe-server进程ID>
    
    或者使用以下命令停止所有 pppoe-server 进程:
    sudo killall pppoe-server
    

使用pppoeconf配置PPPOE服务

在 Ubuntu 上开启和关闭 PPPoE 服务也可通过安装并配置 pppoeconf 工具完成。

开启 PPPoE 服务

  1. 安装 pppoeconf 工具
    如果没有安装 pppoeconf,可以使用以下命令进行安装:

    sudo apt-get update
    sudo apt-get install pppoeconf
    
  2. 配置 PPPoE 连接
    运行 pppoeconf 工具进行 PPPoE 连接配置:

    sudo pppoeconf
    

    按照屏幕上的提示进行配置,输入 ISP 提供的用户名和密码等信息。

  3. 启动 PPPoE 连接
    配置完成后,可以使用以下命令启动 PPPoE 连接:

    sudo pon dsl-provider
    

    dsl-providerpppoeconf 创建的默认配置文件名称。

  4. 验证连接
    使用以下命令查看 PPPoE 连接状态:

    ifconfig ppp0
    

    或者:

    ip addr show ppp0
    

    如果看到 ppp0 接口的 IP 地址,说明 PPPoE 连接已经成功启动。

关闭 PPPoE 服务

  1. 停止 PPPoE 连接
    使用以下命令停止 PPPoE 连接:

    sudo poff dsl-provider
    

    这将断开当前的 PPPoE 连接。

  2. 验证连接断开
    再次查看网络接口状态,确保 ppp0 接口已经消失或不再有 IP 地址:

    ifconfig ppp0
    

    或者:

    ip addr show ppp0
    

示例

以下是一个完整的示例过程,包括安装、配置、启动和关闭 PPPoE 服务的命令:

# 更新软件包列表并安装 pppoeconf 工具
sudo apt-get update
sudo apt-get install pppoeconf

# 运行 pppoeconf 配置 PPPoE 连接
sudo pppoeconf

# 按照提示输入 ISP 提供的用户名和密码,完成配置

# 启动 PPPoE 连接
sudo pon dsl-provider

# 验证 PPPoE 连接状态
ifconfig ppp0
# 或者
ip addr show ppp0

# 停止 PPPoE 连接
sudo poff dsl-provider

# 验证连接断开
ifconfig ppp0
# 或者
ip addr show ppp0

通过以上步骤,你可以在 Ubuntu 上成功开启和关闭 PPPoE 服务。如果遇到问题,确保你的网络设备和 ISP 提供的设置正确,并检查系统日志获取更多信息。

结论

通过以上步骤,你可以在Ubuntu上成功配置并运行PPPoE服务,并设置其为开机自启动。这样不仅可以确保网络服务的持续性,还能提供稳定的PPPoE连接服务。希望本教程对你有所帮助,如果在操作过程中遇到问题,欢迎留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《简历宝典》02 - 如果你是HR,你会优先打开哪份简历?

现在的求职环境不必多说&#xff0c;其实我们大家都还是很清楚的。所以&#xff0c;在这个环境下&#xff0c;写一份优秀的简历&#xff0c;目的与作用也不必多说。那么&#xff0c;这一小节呢&#xff0c;我们先从简历这份文档的文档名开始说起。 目录 1 你觉得HR们刷简历的时…

沙龙回顾|MongoDB如何充当企业开发加速器?

数据不仅是企业发展转型的驱动力&#xff0c;也是开发者最棘手的问题。前日&#xff0c;MongoDB携手阿里云、NineData在杭州成功举办了“数据驱动&#xff0c;敏捷前行——MongoDB企业开发加速器”技术沙龙。此次活动吸引了来自各行各业的专业人员&#xff0c;共同探讨MongoDB的…

娱乐圈惊爆已婚男星刘端端深夜幽会

【娱乐圈惊爆&#xff01;已婚男星刘端端深夜幽会&#xff0c;竟是《庆余年》二皇子“戏外风云”】在这个信息爆炸的时代&#xff0c;娱乐圈的每一次风吹草动都能瞬间点燃公众的热情。今日&#xff0c;知名娱乐博主刘大锤的一则预告如同投入湖中的巨石&#xff0c;激起了层层涟…

香橙派AIpro测评:yolo8+usb鱼眼摄像头的Camera图像获取及识别

一、前言 近期收到了一块受到业界人士关注的开发板"香橙派AIpro",因为这块板子具有极高的性价比&#xff0c;同时还可以兼容ubuntu、安卓等多种操作系统&#xff0c;今天博主便要在一块832g的香橙派AI香橙派AIpro进行YoloV8s算法的部署并使用一个外接的鱼眼USB摄像头…

护航端侧大模型平稳健康发展,百度大模型内容安全Lite版正式发布

6月28日&#xff0c;WAVE SUMMIT深度学习开发者大会 2024 “智变应用、码动产业”平行论坛在北京召开。与会&#xff0c;百度大模型内容安全Lite版正式发布&#xff0c;可面向低算力和超低算力的终端大模型提供离线场景下的一站式安全解决方案&#xff0c;为各类终端大模型平稳…

社区活动|FlowUs知识库的发展|先进技术的落地应用|下一代生产力工具你用了吗

在当今快速发展的数字化时代&#xff0c;技术的进步不断推动着工作方式和知识管理的革新。FlowUs&#xff0c;作为一款前沿的知识管理和协作平台&#xff0c;正站在这一变革的浪潮之巅&#xff0c;引领着智能工作的新潮流。 智能化的智能学习引导工具 FlowUs不仅仅是一个工具&…

springboot大学生实习管理系统-计算机毕业设计源码97434

目录 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 图2-4 添加信息流程图 2.2.5 修改信息流程 2.2.6 删除信息流…

Linux高并发服务器开发(十三)Web服务器开发

文章目录 1 使用的知识点2 http请求get 和 post的区别 3 整体功能介绍4 基于epoll的web服务器开发流程5 服务器代码6 libevent版本的本地web服务器 1 使用的知识点 2 http请求 get 和 post的区别 http协议请求报文格式: 1 请求行 GET /test.txt HTTP/1.1 2 请求行 健值对 3 空…

djangoGD高校信管专业就业信息管理系统-计算机毕业设计源码59343

djangoGD高校信管专业就业信息管理系统 摘 要 随着高校信管专业的快速发展&#xff0c;学生就业问题日益受到广泛关注。为了更好地服务学生&#xff0c;提高就业率&#xff0c;许多高校开始引入信息化手段来管理学生就业信息。然而&#xff0c;传统的就业信息管理方式存在很多问…

华夏女中师生深入同仁堂,感悟中医药文化之精髓

华夏女中师生深入同仁堂&#xff0c;感悟中医药文化之精髓 2024年7月4日下午&#xff0c;北京师范大学实验华夏女子中学15名学生在薛艳老师的带领下来到北京同仁堂中医医院&#xff0c;开展职业影随活动。何泽扬院长对她们的到来表示欢迎。随后&#xff0c;在“冯建春全国名老中…

SolidWorks教育版:促进师生互动的桥梁

在当今教育领域&#xff0c;技术的融合正改变着传统的教学方式。SolidWorks教育版作为一款专为教育机构和学生设计的三维设计软件&#xff0c;不仅以其强大的功能和易用的界面赢得了广泛赞誉&#xff0c;更在促进师生互动方面发挥了重要作用。本文将探讨SolidWorks教育版如何成…

python通过COM Interface控制CANoe

python通过COM Interface控制CANoe 介绍打开示例工程python代码示例介绍 通过python可以控制CANoe的启动和停止等其他操作,在做高阶的自动化项目时可以用到。 打开示例工程 python代码示例 # --------------------------------------------------------------------------…

c++习题03-分卡片

目录 一&#xff0c;题目 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;题目 二&#xff0c;思路 在做题的时候一定要认真审题&#xff0c;抓住关键的点和条件&#xff0c;才能够更高效的做对题目。 上面的题目有以下关键点&#xff08;关键条件&#xff0…

模板初阶和string容器

目录 1.模板 函数模板 函数模板的调用规则&#xff1a; 类模板 容器与迭代器 string的简单介绍 iterator&#xff08;迭代器&#xff09; begin()与end() rbegin&#xff08;&#xff09;和rend&#xff08;&#xff09; Capacity&#xff08;容量&#xff09; shrink…

解决@Autowired 注入service 到 static接口方法的问题

1 对类进行 Component 定义 2 定义service及 static service Component public class OperationalJudgment {private static MemberService memberService;Resourceprivate MemberService service;PostConstructpublic void init() {memberServicethis.service;}3 static方法中…

说明本文档目录是软件开发梳理需求常见问题QA文档,方便客户看,也方便我们的售前人员,需求分析人员,ui设计师,原型绘图人员,思维导图绘图人员查看。

https://doc.youyacao.com/117/2150 说明 本文档目录是软件开发梳理需求常见问题QA文档&#xff0c;方便客户看&#xff0c;也方便我们的售前人员&#xff0c;需求分析人员&#xff0c;ui设计师&#xff0c;原型绘图人员&#xff0c;思维导图绘图人员查看。 提示 本内容客户…

flutter:监听路由的变化

问题 当从路由B页面返回路由A页面后&#xff0c;A页面需要进行数据刷新。因此需要监听路由变化 解决 使用RouteObserver进行录音监听 创建全局变量&#xff0c;不在任何类中 final RouteObserver<PageRoute> routeObserver RouteObserver<PageRoute>();在mai…

ATFX汇市:美国大非农数据来袭,美指与欧元或迎剧烈波动

ATFX汇市&#xff1a;今日20:30&#xff0c;美国劳工部将公布6月非农就业报告&#xff0c;其中新增非农就业人口数据最受关注&#xff0c;前值为27.2万人&#xff0c;预期值19万人&#xff0c;预期降幅高达8.2万人。如果公布值确实如预期一般&#xff0c;美联储降息预期将增强&…

国家力推!国家人工智能产业标准化指南

在科技日新月异的今天&#xff0c;人工智能&#xff08;AI&#xff09;作为推动社会进步和产业升级的关键力量&#xff0c;正以前所未有的速度改变着我们的世界。从自动驾驶到智能制造&#xff0c;从智慧医疗到金融科技&#xff0c;人工智能的触角已经深入到了经济社会的各个角…

【trition-server】运行一个pytorch的ngc镜像

ngc 提供了pytorch容器 号称是做了gpu加速的 我装的系统版本是3.8的python,但是pytorch似乎是用conda安装的3.5的: torch的python库是ls支持gpu加速是真的 英伟达的pytorch的说明书 root@a79bc3874b9d:/opt/pytorch# cat NVREADME.md PyTorch ======= PyTorch is a python …