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

如何设置iptables,让网络流量转发给内部容器mysql

1.创建一个mysql ,无法外部访问

docker run -d --name mysql_container -e MYSQL_ROOT_PASSWORD=liuyunshengsir -v /path/to/mysql_data:/var/lib/mysql  mysql

2.设置规则外部直接可访问

要使用 iptables 将网络流量转发给内部容器中的 MySQL 服务,你可以按照以下步骤进行设置:

  1. 确保系统已经启用了 IP 转发功能
    vim /etc/sysctl.conf
   net.ipv4.ip_forward=1

保存文件后,使用以下命令使更改生效:

sudo sysctl -p
  1. 设置 NAT 规则来实现端口转发。假设 MySQL 容器监听的端口是 3306,并且外部访问的端口是 8888,你可以使用以下命令来添加 iptables 规则:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 13306 -j DNAT --to-destination 172.17.0.2:3306

替换 <内部容器的IP地址> 为你的 MySQL 容器实际的 IP 地址。

  1. 允许转发的数据包通过防火墙。使用以下命令启用转发:
   sudo iptables -A FORWARD -p tcp --dport 13306 -d <内部容器的IP地址> -j ACCEPT

替换 <内部容器的IP地址> 为你的 MySQL 容器实际的 IP 地址。

  1. 如果你的系统上启用了防火墙(例如 UFW),请确保允许相应的端口通过防火墙。例如,在 UFW 中,你可以运行以下命令开放 13306端口:

    sudo ufw allow 13306
    

    这将允许外部主机连接到你的系统的 13306端口。

完成上述步骤后,当有外部请求进入系统的 13306端口时,iptables 将会将流量转发给内部容器中 MySQL 服务的 3306 端口,从而实现端口转发。请确保你的 MySQL 容器已经正确配置并监听了相应的端口。

3.永久保存规则

在 CentOS 系统上,可以使用以下方法来永久设置 iptables 规则:

  1. 使用 iptables 命令保存和加载规则:这是一种简单的方法,当系统重启时会自动加载保存的规则。

    • 配置所需的 iptables 规则。例如,添加规则:

      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -j DROP
      
    • 保存规则到文件:

      sudo service iptables save
      
    • 这将把当前的 iptables 规则保存到 /etc/sysconfig/iptables 文件中。

    • 当系统启动时,iptables 服务将自动加载保存的规则。

  2. 使用 iptables-services 包:这是一个包含 iptables 服务的软件包,可让你更方便地管理 iptables 规则。

    • 首先,确保已安装 iptables-services 包:

      sudo yum install iptables-services
      
    • 启动 iptables 服务,并设置为在系统启动时自动启动:

      sudo systemctl start iptables
      sudo systemctl enable iptables
      
    • 配置所需的 iptables 规则。例如,添加规则:

      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -j DROP
      
    • 保存规则到文件:

      sudo service iptables save
      
    • 这将把当前的 iptables 规则保存到 /etc/sysconfig/iptables 文件中。

    • 当系统启动时,iptables 服务将自动加载保存的规则。

确保在配置 iptables 规则之后,将其保存并加载,以便规则在系统重启后仍然生效。

相关文章:

如何设置iptables,让网络流量转发给内部容器mysql

1.创建一个mysql &#xff0c;无法外部访问 docker run -d --name mysql_container -e MYSQL_ROOT_PASSWORDliuyunshengsir -v /path/to/mysql_data:/var/lib/mysql mysql2.设置规则外部直接可访问 要使用 iptables 将网络流量转发给内部容器中的 MySQL 服务&#xff0c;你可…...

数字IC实践项目(7)—CNN加速器的设计和实现(付费项目)

数字IC实践项目&#xff08;7&#xff09;—基于Verilog的CNN加速器&#xff08;付费项目&#xff09; 写在前面的话项目整体框图神经网络框图完整电路框图 项目简介和学习目的软件环境要求 资源占用&板载功耗总结 写在前面的话 项目介绍&#xff1a; 卷积神经网络硬件加速…...

基于深度学习的高精度80类动物目标检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度80类动物目标检测识别系统可用于日常生活中或野外来检测与定位80类动物目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的80类动物目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YO…...

海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储

文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131679108 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…...

【NCNN】NCNN中Mat与CV中Mat的使用区别及相互转换方法

目录 相同点与不同点cv::Mat转ncnn::Matcv::Mat CV_8UC3 -> ncnn::Mat 3 channel swap RGB/BGRcv::Mat CV_8UC3 -> ncnn::Mat 1 channel do RGB2GRAY/BGR2GRAYcv::Mat CV_8UC1 -> ncnn::Mat 1 channel ncnn::Mat转cv::Mancnn::Mat 3 channel -> cv::Mat CV_8UC3 …...

Android 13 设置自动进入wifi adb模式

Android 13 设置自动进入wifi adb模式 文章目录 Android 13 设置自动进入wifi adb模式一、前言&#xff1a;二、解决Android 13 wifi adb每次重启自动重置问题方法1、分析系统中每次重置wifi adb属性的代码2、在开机广播里面进行设置wifi adb 相关属性&#xff08;1&#xff09…...

(笔记)插入排序

插入排序 插入排序是一种简单且常见的排序算法&#xff0c;它通过重复将一个元素插入到已经排好序的一组元素中&#xff0c;来达到排序的目的。在插入排序算法中&#xff0c;将待排序序列分为已排序和未排序两个部分。初始时&#xff0c;已排序部分只包含一个记录&#xff0c;…...

结构型模式 - 组合模式

概述 对于这个图片肯定会非常熟悉&#xff0c;上图我们可以看做是一个文件系统&#xff0c;对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树&#xff0c;当我们找到某个叶子节点后&#xff0c;就可以对叶子节点进行相关的操作。可以将这颗树理…...

EDM营销过时了?不,这才是跨境电商成功的最佳工具

根据最近的一项研究&#xff0c;电子邮件仍然是最具说服力的营销工具和沟通形式之一。虽然即时通讯等其他渠道正在扎根&#xff0c;但电子邮件仍然是影响最深远的商业交流形式。到2023年&#xff0c;每天发送和接收的电子邮件总数可能会超过333亿封。所以&#xff0c;如果您希望…...

【大数据之Hive】二十五、HQL语法优化之小文件合并

1 优化说明 小文件优化可以从两个方面解决&#xff0c;在Map端输入的小文件合并&#xff0c;在Reduce端输出的小文件合并。 1.1 Map端输入文件合并 合并Map端输入的小文件是指将多个小文件分到同一个切片中&#xff0c;由一个Map Task处理&#xff0c;防止单个小文件启动一个M…...

spring 连接oracle数据库报错{dataSource-1} init error解决,电脑用户名问题

错误描述&#xff1a; 连接oracle数据就报错&#xff0c;同样的代码其他电脑不会报错。 报错如下&#xff1a; {dataSource-1} init error java.sql.SQLRecoverableException: IO 错误: Undefined Error com.alibaba.druid.pool.DruidDataSource-1049[main]ERROR: {dataSourc…...

行业视野::人工智能与机器人

控制和机器人领域非常重要的quote&#xff1a;莫拉维克悖论&#xff08;Moravecs paradox&#xff09; It is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers,and difficult or impossible to give them th…...

【Python入门系列】第十七篇:Python大数据处理和分析

【Python入门系列】第十七篇&#xff1a;Python大数据处理和分析 文章目录 前言一、数据处理和分析步骤二、Python大数据处理和分析库三、Python大数据处理和分析应用1、数据清洗和转换2、数据分析和统计3、数据可视化4、机器学习模型训练和预测5、大规模数据处理和分布式计算6…...

spring.profiles的使用详解

本文来说下spring.profiles.active和spring.profiles.include的使用与区别 文章目录 业务场景spring.profiles.active属性启动时指定 spring.profiles.include属性配置方法配置位置配置区别 用示例来使用和区分测试一测试二测试三 编写程序查看激活的yml文件本文小结 业务场景 …...

Docker使用总结

Docker 1.什么是 Docker 官网的介绍是“Docker is the world’s leading software container platform.” 官方给Docker的定位是一个应用容器平台。 Docker 是一个容器平台的领导者 Docker 容器平台 Docker 应用容器平台 application项目 Mysql Redis MongoDB ElasticSeacrh …...

MySQL 数据库的备份与还原案例分享 2023.07.12

/** 素材一 备份与还原 **/ 1 创建数据库booksDB mysql> create database booksDB; Query OK, 1 row affected (0.00 sec)2.1 创建booksDB表 mysql> use booksDB Database changed mysql> CREATE TABLE books-> (-> bk_id INT NOT NULL PRIMARY KEY,-> …...

verilog实现数码管静态显示

文章目录 verilog实现数码管静态显示一、任务要求二、实验代码三、仿真代码四、仿真结果五、总结 verilog实现数码管静态显示 一、任务要求 六个数码管同时间隔0.5s显示0-f。要求&#xff1a;使用一个顶层模块&#xff0c;调用计时器模块和数码管静态显示模块。 二、实验代码…...

MySQL-DML-添加数据insert

目录 添加数据&#xff1a;insert insert语法 注意事项 修改数据&#xff1a;update update语法 注意事项&#xff1a; 删除数据&#xff1a;delete 删除语法 注意事项 总结 DML英文全称Data Manipulation Language&#xff08;数据操作语言&#xff09;&#xff0c;…...

Prometheus、Grafana使用

文章目录 系统性能监控相关命令lscputopfreehtopdstatglancesiftopiptrafnethogs 监控软件Prometheus安装、使用将promethues做成服务监控其他机器 exportergrafana配置、使用密码忘记重置 系统性能监控 相关命令 lscpu lscpu 是一个 Linux 命令&#xff0c;用于显示关于 CP…...

UG\NX二次开发 使用throw重新抛出异常

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan 简介&#xff1a; 在异常处理代码中&#xff0c;可以使用 throw 关键字来抛出异常。如果希望在捕获异常后重新抛出该异常&#xff0c;可以使用类似以下的代码&#xff1a; 在 …...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...