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


    在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连接服务。希望本教程对你有所帮助,如果在操作过程中遇到问题,欢迎留言讨论。

  • 相关阅读:
    vue3中使用百度地图
    图像形态学操作(连通性、腐蚀、膨胀)
    Python加解压文件gzip库操作一文详解
    企业微信+SCRM的整体营销工作要如何形成合力?
    【MySQL】 MySQL 8.0 新特性之原子 DDL
    LeetCode高频题76. 最小覆盖子串:欠账还债还款问题,子串考虑i开头的情况所有答案更新一波
    JS数据结构与算法-队列结构
    C++11重写muduo网络库3—Channel库(channel模块待补充完善)
    文件包含漏洞(一)
    web前端期末大作业网页设计与制作 ——汉口我的家乡旅游景点 5页HTML+CSS+JavaScript
  • 原文地址:https://blog.csdn.net/u011897062/article/details/140064125