Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iptables系列教程(三)| iptables 实战篇

iptables系列教程(三)| iptables 实战篇

原创
作者头像
开源Linux
修改于 2020-05-18 06:26:19
修改于 2020-05-18 06:26:19
2.7K0
举报
文章被收录于专栏:开源Linux开源Linux

iptables 实战篇

实战1 服务器禁止ping

代码语言:txt
AI代码解释
复制
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
// 禁止任何人ping通本机

除了上面禁止PING的方法,我们还可以通过修改内核配置实现,如下:

代码语言:txt
AI代码解释
复制
echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf
sysctl -p 

// 如果允许PING,则将 `ignore_all=1`,修改成 `ingore_all=0` 即可

实战2 利用iptables保护公司 web 服务器

2.1 web服务器配置:

代码语言:txt
AI代码解释
复制
1、安装httpd及vsftpd服务
yum -y install httpd
yum -y install vsftpd //安装vsfptd服务目的是为了对比iptables

2、启动httpd及vsftpd服务
systemctl start httpd
systemctl  start vsftpd

2.2 客户端验证(未配置iptables)

测试web访问

测试vsftpd

2.3 配置iptables防火墙策略

代码语言:txt
AI代码解释
复制
iptables -A INPUT -i lo -j ACCEPT
// 放行环回口所有数据

iptables -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEP
// 放行 TCP/22,80 端口

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
// 允许已经建立 tcp 连接的包以及该连接相关的包通过

 iptables -P INPUT DROP
 // 设置filter表INPUT链默认规则。当数据包没有被任何规则匹配时,则按默认规则拒绝所有

2.4 再次验证

测试web访问

测试vsftpd

测试结果正如我们所料:可以正常访问web服务,但由于iptables规则未放行ftp相关端口,因此无法访问ftp服务。

实战3 利用iptables搭建网关服务器

背景:公司使用双网卡Linux主机作为网关服务器,其中网卡eth0连接局域网,网卡eth1接入Internet。由于公司只注册了一个公网IP地址,要求合理配置网关策略,使局域网内的PC机可以通过共享的方式访问Internet,如下图所示:

具体实验步骤,点击:干货|利用iptables搭建网关服务器

实战4 利用iptables实现端口映射(DNAT)

实验拓扑图
4.1 qll252 web服务器
代码语言:txt
AI代码解释
复制
1、安装httpd服务
[root@qll252 ~]# yum -y install httpd

2、设置http服务首页内容
[root@qll252 ~]# echo 10.10.10.2 > index.html

3、启动httpd服务
[root@qll252 ~]# systemctl start httpd

4、指定qll251为网关
[root@qll252 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0       
  GATEWAY=10.10.10.1

5、重启网卡服务
[root@qll252 ~]# systemctl restart network

4.2 在qll251上做DNAT

代码语言:txt
AI代码解释
复制
1、开启内核转发
echo "net.ipv4.ip_forward = 1" >> etc/sysctl.conf 
sysctl -p

2、添加iptables规则
[root@qll252 ~]# iptables -t nat -A PREROUTING -d 10.43.5.166 -p tcp --dport 8000 -j DNAT --to 10.43.187.252:80

3、保存iptables规则
[root@qll251 ~]# service iptables save

4.3 验证

结果正如我们所料,浏览器上输入http://20.20.20.20:8000,即可跳转到qll252的内容,实现端口映射。

结语

公众号『开源Linux』,专注分享Linux/Unix相关内容,包括Linux运维、Linux系统开发、网络编程、以及虚拟化云计算等技术干货。后台回复『学习』,送你一套学习Linux的系列书籍,期待与你相遇。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从 MySQL 到 ClickHouse 实时数据同步 —— Debezium + Kafka 表引擎
本文介绍从 MySQL 作为源到 ClickHouse 作为目标的整个过程。MySQL 数据库更改通过 Debezium 捕获,并作为事件发布在到 Kafka 上。ClickHouse 通过 Kafka 表引擎按部分顺序应用这些更改,实时并保持最终一致性。相关软件版本如下:
用户1148526
2024/04/26
2.2K0
从 MySQL 到 ClickHouse 实时数据同步 —— Debezium + Kafka 表引擎
基于 HBase & Phoenix 构建实时数仓(5)—— 用 Kafka Connect 做实时数据同步
本篇演示安装配置 Kafka connect 插件实现 MySQL 到 Hbase 的实时数据同步。依赖环境见本专栏前面文章。相关软件版本如下:
用户1148526
2024/03/21
6730
基于 HBase & Phoenix 构建实时数仓(5)—— 用 Kafka Connect 做实时数据同步
ClickHouse 集群部署(不需要 Zookeeper)
(1)安装 ClickHouse Server 和 ClickHouse Client
用户1148526
2024/04/18
10.2K2
基于 HBase & Phoenix 构建实时数仓(2)—— HBase 完全分布式安装
完全分布式 HBase 集群的运行依赖于 Zookeeper 和 Hadoop,在前一篇中已经详细介绍了他们的安装部署及运行,参见“基于 HBase & Phoenix 构建实时数仓(1)—— Hadoop HA 安装部署”。本篇继续介绍在相同主机环境下安装配置完全分布式 HBase 集群。
用户1148526
2024/03/09
5330
基于 HBase & Phoenix 构建实时数仓(2)—— HBase 完全分布式安装
基于 HBase & Phoenix 构建实时数仓(3)—— Phoenix 安装
继续上一篇,本篇介绍在同一环境中安装 Phoenix,并连接上篇部署的 HBase 集群。
用户1148526
2024/03/09
6570
MySQL 主从复制异常?试试 pt-slave-repair 吧!
作者:蒋士峰,爱可生 DBA 团队成员,熟悉 MySQL,Oracle 等数据库。每天的积累,时间久了,会带来不一样的收获。
爱可生开源社区
2025/03/11
2960
MySQL 主从复制异常?试试 pt-slave-repair 吧!
大数据ClickHouse(十四):Integration系列表引擎
ClickHouse提供了许多与外部系统集成的方法,包括一些表引擎。这些表引擎与其他类型的表引擎类似,可以用于将外部数据导入到ClickHouse中,或者在ClickHouse中直接操作外部数据源。
Lansonli
2022/08/30
7750
大数据ClickHouse(十四):Integration系列表引擎
ClickHouse之MaterializeMySQL引擎(十)
ClickHouse 20.8.2.3 版本新增加了 MaterializeMySQL 的 database 引擎,该 database 能 映射到 MySQL 中的某个 database ,并自动在 ClickHouse 中创建对应的ReplacingMergeTree。ClickHouse 服务做为 MySQL 副本,读取 Binlog 并执行 DDL 和 DML 请求,实现了基于 MySQL Binlog 机制的业务数据库实时同步功能。
Java技术债务
2022/08/09
7270
clickhouse实现统计实时排名功能
商品搜索统计 商城商品名,搜索成千上万,如何才能实时的获取到当前搜索热度最高的词,或者某一个搜索词排在第几呢? clickhouse ClickHouse 是俄罗斯的 Yandex 于 2016 年开
仙士可
2023/03/09
1.5K0
clickhouse实现统计实时排名功能
「ClickHouse系列」实时分析优化AggregateFunction及物化视图
AggregatingMergeTree有些许数据立方体的意思,它能够在合并分区的时候,按照预先定义的条件,聚合数据。
王知无-import_bigdata
2022/04/13
3.4K0
「ClickHouse系列」实时分析优化AggregateFunction及物化视图
​深入浅出 ClickHouse 物化视图
数据库查询语言(query language)是数据库管理系统(DBMS)提供给用户和数据库交互的工具,查询语言分为三类 [^1]:
腾讯技术工程官方号
2023/07/15
2.8K0
​深入浅出 ClickHouse 物化视图
PB级数据实时分析,ClickHouse到底有多彪悍?
腾讯公司内部有很多业务使用 ClickHouse,比较典型的就是QQ音乐。QQ音乐在使用 ClickHouse 之前,用的是基于 Hive 构建的离线数仓,当时遇到了很多问题,主要在于以下三个方面:
腾讯云开发者
2020/10/21
8.4K2
clickhouse同步mysql数据_clickhouse查询
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说clickhouse同步mysql数据_clickhouse查询,希望能够帮助大家进步!!!
Java架构师必看
2022/08/14
5.4K0
clickhouse同步mysql数据_clickhouse查询
腾讯大牛教你ClickHouse实时同步MySQL数据
| 作者 史鹏宙,CSIG云与智慧产业事业群研发工程师 ---- ClickHouse作为OLAP分析引擎已经被广泛使用,数据的导入导出是用户面临的第一个问题。由于ClickHouse本身无法很好地支持单条大批量的写入,因此在实时同步数据方面需要借助其他服务协助。本文给出一种结合Canal+Kafka的方案,并且给出在多个MySQL实例分库分表的场景下,如何将多张MySQL数据表写入同一张ClickHouse表的方法,欢迎大家批评指正。 首先来看看我们的需求背景: 1. 实时同步多个MySQL实例数据
腾讯云数据库 TencentDB
2020/11/02
6.7K3
大数据ClickHouse进阶(二十):MaterializeMySQL物化引擎深入了解
在ClickHouse基础课程中我们知道可以使用两种方式通过ClickHouse可以操作MySQL数据库,分别使用使用 MySQL数据库引擎和MySQL表引擎。
Lansonli
2022/11/03
2.5K1
大数据ClickHouse进阶(二十):MaterializeMySQL物化引擎深入了解
ClickHouse系列--消费kafka数据
kafka_broker_list :逗号分隔的brokers地址 (localhost:9092). kafka_topic_list :Kafka 主题列表,多个主题用逗号分隔. kafka_group_name :消费者组. kafka_format – Message format. 比如JSONEachRow、JSON、CSV等等
IT云清
2021/12/06
1.2K0
大数据ClickHouse进阶(二十一):ClickHouse的Projection投影
在使用ClickHouse MergeTree引擎时,如果某张MergeTree表建表排序规则如下:
Lansonli
2022/11/03
3.3K0
大数据ClickHouse进阶(二十一):ClickHouse的Projection投影
基于 HBase & Phoenix 构建实时数仓(4)—— Kafka 集群安装部署
Kafka 是一个完整的消息系统,常用于实时系统中的消息中转和数据持久化。Kafka 集群安装部署依赖于 Zookeeper,本专栏前面文章介绍了 Zookeeper 安装部署及运行,参见 “安装部署 Zookeeper 集群”。本篇继续介绍在相同主机环境下安装部署 Kafka 集群。
用户1148526
2024/03/12
2960
Clickhouse基础语法、数据类型、数据表引擎学习
2、默认情况下,ClickHouse使用的是原生的数据库引擎Ordinary(在此数据库下可以使用任意类型的表引擎,在绝大多数情况下都只需使用默认的数据库引擎)。当然也可以使用Lazy引擎和MySQL引擎,比如使用MySQL引擎,可以直接在ClickHouse中操作MySQL对应数据库中的表。假设MySQL中存在一个名为Clickhouse的数据库,可以使用下面的方式连接MySQL数据库。
别先生
2021/03/04
1.7K0
故障分析 | ClickHouse 物化视图插入时间变为“1970-01-01 08:00:00”问题复盘
指定了存储的表,所以物化视图的创建也不需要指定 engine ,在查询中,查物化视图和查实际的存储表得到一样的数据,因为都是来自于同一份存储数据。
爱可生开源社区
2022/09/14
6770
推荐阅读
相关推荐
从 MySQL 到 ClickHouse 实时数据同步 —— Debezium + Kafka 表引擎
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档