当前位置: 首页 > news >正文

通过 PPPOE 将 linux 服务器作为本地局域网 IPv4 外网网关

将 linux 服务器作为本地外网网关,方便利用 Linux 生态中的各种网络工具,对流量进行自定义、精细化管理…

环境说明

拨号主机:CentOS 7.9, Linux Kernel 5.4.257
拨号软件: rp-pppoe-3.11-7.el7.x86_64

初始化

1、升级系统到新的稳定内核, lt 长期支持版本、ml 当前主线版本

# CentOS 7.9 默认 Kernel 为 3.10
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# 载入 elrepo-kernel 元数据
yum --enablerepo=elrepo-kernel repolist
# 安装长期支持的内核版本
yum --enablerepo=elrepo-kernel install kernel-lt.x86_64  -y
# 查看内核启动顺序
awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# 设置默认开机从新内核启动
grub2-set-default 0

2、install 拨号软件

yum install rp-pppoe-3.11-7.el7.x86_64 -y

拨号设置

1、执行 pppoe-setup 初始化拨号设置,如下图所示

在这里插入图片描述
在这里插入图片描述## PPPOE 拨号

1、开始拨号 ifup ppp0 ,断开拨号 ifdown ppp0

pppoe-start  /etc/sysconfig/network-scripts/ifcfg-ppp0pppoe-stop      # 停止拨号
pppoe-status    # 查看状态

2、查看拨号后的路由表信息、及接口 ppp0 状态

# 拨号后会自动更新本机路由,默认将所有流量通过本地接口 ppp0 发出,且该出口的下一跳 ip 地址为 100.78.128.1
route -n
#> Kernel IP routing table
#> Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
#> 0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
#> 100.78.128.1    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
#> 192.168.21.0    0.0.0.0         255.255.255.0   U     101    0        0 ens9
#> 192.168.31.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0ifconfig ppp0
#> ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1492
#>         inet 100.78.185.33  netmask 255.255.255.255  destination 100.78.128.1
#>         ppp  txqueuelen 3  (Point-to-Point Protocol)
#>         RX packets 13973  bytes 16487388 (15.7 MiB)
#>         RX errors 0  dropped 0  overruns 0  frame 0
#>         TX packets 7520  bytes 1150614 (1.0 MiB)
#>         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

配置 SNAT

1、配置拨号主机作为外网网关

# 启用转发
sysctl -w net.ipv4.conf.all.forwarding=1# 允许网段 192.168.31.0/24 的终端通过拨号主机转发
iptables -I FORWARD -t filter -s 192.168.31.0/24 -j ACCEPT# 将数据包源地址转换为接口 ppp0 的 ip 地址(SNAT, 共享 ip 上网)
iptables -A POSTROUTING -t nat -s 192.168.31.0/24 -o ppp0 -j MASQUERADE# 查看 snat 规则
iptables -nvL POSTROUTING -t nat |grep ppp0
#> pkts bytes target     prot opt in     out     source               destination
#> 800 78869 MASQUERADE  all  --  *      ppp0    192.168.31.0/24      0.0.0.0/0

2、查看连接信息,测试主机 31.218 通过本机访问外网

yum install conntrack-tools -yconntrack -L |grep -i 31.218 |grep -i estab
conntrack v1.4.4 (conntrack-tools): 53 flow entries have been shown.
tcp      6 431988 ESTABLISHED src=192.168.31.218 dst=58.63.233.98 sport=50104 dport=443 src=58.63.233.98 dst=100.78.185.33 sport=443 dport=50104 [ASSURED] mark=0 secctx=system_u:object_r:unlabeled_t:s0 use=1

码字不易,若觉得本文对你有用,欢迎点赞 👍、分享 🚀 ,相关技术热点时时看🔥🔥🔥​​​…

相关文章:

通过 PPPOE 将 linux 服务器作为本地局域网 IPv4 外网网关

将 linux 服务器作为本地外网网关&#xff0c;方便利用 Linux 生态中的各种网络工具&#xff0c;对流量进行自定义、精细化管理… 环境说明 拨号主机&#xff1a;CentOS 7.9, Linux Kernel 5.4.257 拨号软件: rp-pppoe-3.11-7.el7.x86_64初始化 1、升级系统到新的稳定内核&a…...

gin源码分析

一、高性能 使用sync.pool解决频繁创建的context对象&#xff0c;在百万并发的场景下能大大提供访问性能和减少GC // ServeHTTP conforms to the http.Handler interface. // 每次的http请求都会从sync.pool中获取context&#xff0c;用完之后归还到pool中 func (engine *Engin…...

数学建模入门

目录 文章目录 前言 一、数学建模是什么&#xff1f; 1、官方概念&#xff1a; 2、具体过程 3、适合哪一类人参加&#xff1f; 4、需要有哪些学科基础呢&#xff1f; 二、怎样准备数学建模&#xff08;必备‘硬件’&#xff09; 1.组队 2.资料搜索 3.常用算法总结 4.论文撰写的…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十二)-无人机群在物流中的应用

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…...

同三维T80006EH2-4K30编码器视频使用操作说明书:高清HDMI编码器,高清SDI编码器,4K超清HDMI编码器,双路4K超高清编码器

同三维T80006EH2-4K30编码器视频使用操作说明书&#xff1a;高清HDMI编码器&#xff0c;高清SDI编码器&#xff0c;4K超清HDMI编码器&#xff0c;双路4K超高清编码器 T80006EH2-4K30编码器 同三维&#xff0c;十多年老品牌&#xff0c;我们一直专注&#xff1a;视频采集卡、视频…...

DHCP原理及配置

目录 一、DHCP原理 DHCP介绍 DHCP工作原理 DHCP分配方式 工作原理 DHCP重新登录 DHCP优点 二、DHCP配置 一、DHCP原理 1 DHCP介绍 大家都知道&#xff0c;现在出门很多地方基本上都有WIFI&#xff0c;那么有没有想过这样一个问题&#xff0c;平时在家里都是“固定”的…...

异步日志:性能优化的金钥匙

一、背景 2024 年 4 月的一个宁静的夜晚&#xff0c;正当大家忙完一天的工作准备休息时&#xff0c;应急群里“咚咚咚”开始报警&#xff0c;提示我们余利宝业务的赎回接口成功率下降。 通过 Monitor 监控发现&#xff0c;该接口的耗时已经超过了网关配置的超时阈值(2s)&#…...

matlab仿真 模拟调制(上)

&#xff08;内容源自详解MATLAB&#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容&#xff0c;有兴趣的读者请阅读原书&#xff09; 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…...

【数据结构】--- 堆的应用

​ 个人主页&#xff1a;星纭-CSDN博客 系列文章专栏 :数据结构 踏上取经路&#xff0c;比抵达灵山更重要&#xff01;一起努力一起进步&#xff01; 一.堆排序 在前一个文章的学习中&#xff0c;我们使用数组的物理结构构造出了逻辑结构上的堆。那么堆到底有什么用呢&…...

0基础学会在亚马逊云科技AWS上利用SageMaker、PEFT和LoRA高效微调AI大语言模型(含具体教程和代码)

项目简介&#xff1a; 小李哥今天将继续介绍亚马逊云科技AWS云计算平台上的前沿前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS上的AI软甲开发最佳实践&#xff0c;并应用到自己的日常工作里。本次介绍的是如何在Amazon SageMaker上…...

护网HW面试——redis利用方式即复现

参考&#xff1a;https://xz.aliyun.com/t/13071 面试中经常会问到ssrf的打法&#xff0c;讲到ssrf那么就会讲到配合打内网的redis&#xff0c;本篇就介绍redis的打法。 未授权 原理&#xff1a; Redis默认情况下&#xff0c;会绑定在0.0.0.0:6379&#xff0c;如果没有采用相关…...

C++ //练习 15.8 给出静态类型和动态类型的定义。

C Primer&#xff08;第5版&#xff09; 练习 15.8 练习 15.8 给出静态类型和动态类型的定义。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释 静态类型&#xff1a;在编译时已知&#xff0c;是在变量声明时的类型或表达式生成的…...

阿里云ECS服务器安装jdk并运行jar包,访问成功详解

安装 OpenJDK 8 使用 yum 包管理器安装 OpenJDK 8 sudo yum install -y java-1.8.0-openjdk-devel 验证安装 安装完成后&#xff0c;验证 JDK 是否安装成功&#xff1a; java -version设置 JAVA_HOME 环境变量&#xff1a; 为了确保系统中的其他应用程序可以找到 JDK&…...

Windows系统上使用npm来安装和配置Yarn,在VSCode中使用

一、安装Yarn 1. 安装Node.js和npm 如果还没有安装Node.js和npm&#xff0c;可以从Node.js官方网站下载并安装最新版本的Node.js&#xff0c;npm会随Node.js一起安装。 2. 使用npm安装Yarn 打开命令提示符或PowerShell&#xff0c;运行以下命令来全局安装Yarn&#xff1a; …...

Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理

Unity ColorSpace 之 【颜色空间】相关说明&#xff0c;以及【Linear】颜色校正 【Gamma】的简单整理 目录 Unity ColorSpace 之 【颜色空间】相关说明&#xff0c;以及【Linear】颜色校正 【Gamma】的简单整理 一、简单介绍 二、在Unity中设置颜色空间 三、Unity中的Gamma…...

JavaScript的学习(二)

今天继续学习JavaScript的第二天&#xff0c;还是打基础 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title…...

【接口自动化_06课_Pytest+Excel+Allure完整框架集成】

一、logging在接口自动化里的应用 1、设置日志的配置&#xff0c;并收集日志文件 日志的设置需要在pytest.ini文件里设置。这个里面尽量不要有中文 2、debug日志的打印 pytest.ini文件的开关一定得是true才能在控制台打印日志 import allure import pytest from P06_PytestFr…...

Profibus协议转Profinet协议网关模块连接智能电表通讯案例

一、背景 在工业自动化领域&#xff0c;Profibus协议和Profinet协议是两种常见的工业通讯协议&#xff0c;而连接智能电表需要用到这两种协议之间的网关模块。本文将通过一个实际案例&#xff0c;详细介绍如何使用Profibus转Profinet模块&#xff08;XD-PNPBM20&#xff09;实…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(九)-无人机服务区分离

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…...

acrobat 中 PDF 复制时不能精确选中所选内容所在行的一种解决方法

现象&#xff1a;划取行的时候&#xff0c;自动扩展为多行 如果整段选中复制&#xff0c;粘贴后是乱码 解决步骤 识别完&#xff0c;保存 验证 可以按行复制了。 如果遇到仅使用 acrobat OCR 不能彻底解决的&#xff0c;更换其他自己熟悉的进行 OCR。...

QMCDecode技术解密:让加密音频重获自由的无损转换方案

QMCDecode技术解密&#xff1a;让加密音频重获自由的无损转换方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认转…...

IntelliJ IDEA 2019安装教程及下载

软件介绍&#xff1a; IntelliJ IDEA 是捷克 JetBrains 公司研发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;主打 Java 和 Kotlin 开发&#xff0c;被誉为 “最佳 Java IDE”&#xff0c;适配不同层级开发者需求&#xff1b;它具备智能代码补全、静态分析、一键重…...

DS3231M高精度RTC驱动开发与工业级实时时钟工程实践

1. DS3231M高精度实时时钟库深度解析与嵌入式工程实践DS3231M是Maxim Integrated&#xff08;现为Analog Devices&#xff09;推出的工业级IC接口实时时钟芯片&#xff0c;其核心价值在于2 ppm的温度补偿精度&#xff08;-40C至85C全温域&#xff09;、内置TCXO&#xff08;温度…...

一键部署GLM-4.6V-Flash-WEB:GitCode镜像真香,省去半天环境搭建时间

一键部署GLM-4.6V-Flash-WEB&#xff1a;GitCode镜像真香&#xff0c;省去半天环境搭建时间 1. 为什么选择GLM-4.6V-Flash-WEB 在多模态大模型快速发展的今天&#xff0c;开发者最头疼的不是模型性能&#xff0c;而是如何快速部署和运行。GLM-4.6V-Flash-WEB作为智谱AI最新开…...

2026届最火的十大AI科研工具实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术写作范畴&#xff0c;以及内容创作的领域当中&#xff0c;把文本被人工智能检测工具标…...

Kandinsky-5.0-I2V-Lite-5s惊艳案例分享:宠物/人像/产品图5秒动态化成果集

Kandinsky-5.0-I2V-Lite-5s惊艳案例分享&#xff1a;宠物/人像/产品图5秒动态化成果集 1. 开篇&#xff1a;让静态图片动起来的魔法 你有没有想过&#xff0c;随手拍的照片能自己动起来&#xff1f;Kandinsky-5.0-I2V-Lite-5s就是这样一个神奇的AI工具。它能把你的宠物照片、…...

学术党福音:OpenClaw+Qwen3-32B自动生成LaTeX论文图表

学术党福音&#xff1a;OpenClawQwen3-32B自动生成LaTeX论文图表 1. 为什么需要自动化论文图表生成 作为长期与LaTeX搏斗的科研狗&#xff0c;我经历过无数次这样的深夜&#xff1a;在Python里调完matplotlib参数&#xff0c;手动导出PNG&#xff0c;再在LaTeX里反复调整\inc…...

用SDNET2018和Crack500数据集训练YOLOv8,手把手教你搞定混凝土裂缝检测模型

基于SDNET2018与Crack500的YOLOv8裂缝检测实战指南 混凝土结构的安全评估中&#xff0c;裂缝检测是关键环节。传统人工巡检效率低下且易漏检&#xff0c;而基于深度学习的自动化方案能显著提升检测精度与效率。本文将手把手带您完成从数据集处理到模型部署的全流程&#xff0c;…...

掌握Rustaceanvim工作区管理:符号搜索、模块导航和依赖分析全攻略

掌握Rustaceanvim工作区管理&#xff1a;符号搜索、模块导航和依赖分析全攻略 【免费下载链接】rustaceanvim &#x1f980; Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim 项目地址: https://gitcode.com/gh_mirrors/ru/rustace…...

c++如何读取BMP位图文件并精确提取每个像素点的RGB值【实战】

直接用fread读BMP会错乱因像素数据BGR存储、行末补零对齐且从左下到右上排列&#xff1b;需跳过bfOffBits&#xff0c;按每行字节数对齐读取并反向索引&#xff0c;再手动转为RGB。为什么直接用 fread 读 BMP 文件会得到错乱的 RGB 顺序&#xff1f;BMP 文件头和信息头之后&…...