iptables练习题

news2024/11/18 8:52:19

目录

  • 练习题
    • 1. 显示当前的iptables规则
    • 2. 允许所有来自192.168.1.0/24的TCP流量到本机的22端口(SSH)
    • 3. 禁止所有来自10.0.0.0/8的ICMP流量
    • 4. 允许所有出站流量
    • 5. 拒绝所有来自外部的HTTP流量(80端口,tcp协议)
    • 6. 删除INPUT链中的最后一条规则
    • 7. 将默认策略设置为拒绝所有输入流量
    • 9. 允许UDP流量从192.168.2.0/24到本机的53端口(DNS)
    • 10. 保存当前的iptables规则到文件/etc/iptables/rules.v4(需要iptables-save命令)
    • 11. 假设你有一个允许所有HTTP流量(80端口)的规则,但现在你只想允许来自192.168.0.0/16的HTTP流量,你应该如何修改这个规则?
    • 12. 你想要允许某个特定的IP地址(例如192.168.1.100)访问你服务器上所有的服务,应如何设置规则?

练习题

1. 显示当前的iptables规则

[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             172.17.0.3           tcp dpt:radan-http

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination         
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere

2. 允许所有来自192.168.1.0/24的TCP流量到本机的22端口(SSH)

[root@localhost ~]# iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh

3. 禁止所有来自10.0.0.0/8的ICMP流量

[root@localhost ~]# iptables -A INPUT -s 10.0.0.0/8 -p icmp -j DROP
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
DROP       icmp --  10.0.0.0/8           anywhere

4. 允许所有出站流量

[root@localhost ~]# iptables -A OUTPUT -j ACCEPT
[root@localhost ~]# iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere   

5. 拒绝所有来自外部的HTTP流量(80端口,tcp协议)

[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j REJECT
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
DROP       icmp --  10.0.0.0/8           anywhere            
REJECT     tcp  --  anywhere             anywhere             tcp dpt:http reject-with icmp-port-unreachable

6. 删除INPUT链中的最后一条规则

iptables -D INPUT -1
注意:-1 表示删除最后一条规则。
[root@localhost ~]# iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
2    DROP       icmp --  10.0.0.0/8           anywhere            
3    REJECT     tcp  --  anywhere             anywhere             tcp dpt:http reject-with icmp-port-unreachable
[root@localhost ~]# iptables -D INPUT 3
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
DROP       icmp --  10.0.0.0/8           anywhere

7. 将默认策略设置为拒绝所有输入流量

iptables -P INPUT DROP
[root@localhost ~]# iptables -P INPUT DROP

在这里插入图片描述

9. 允许UDP流量从192.168.2.0/24到本机的53端口(DNS)

iptables -A INPUT -s 192.168.2.0/24 -p udp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -s 192.168.2.0/24 -p udp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
DROP       icmp --  10.0.0.0/8           anywhere            
ACCEPT     udp  --  192.168.2.0/24       anywhere             udp dpt:domain

10. 保存当前的iptables规则到文件/etc/iptables/rules.v4(需要iptables-save命令)

iptables-save > /etc/iptables/rules.v4
[root@localhost ~]# mkdir -p /etc/iptables
[root@localhost ~]# iptables-save > /etc/iptables/rules.v4
[root@localhost ~]# cat /etc/iptables/rules.v4 
# Generated by iptables-save v1.8.7 on Tue May 28 20:28:05 2024
*nat
:PREROUTING ACCEPT [22:2930]
:INPUT ACCEPT [22:2930]
:OUTPUT ACCEPT [167:14376]
:POSTROUTING ACCEPT [180:15052]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A POSTROUTING -s 172.17.0.3/32 -d 172.17.0.3/32 -p tcp -m tcp --dport 8088 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
-A DOCKER ! -i docker0 -p tcp -m tcp --dport 8088 -j DNAT --to-destination 172.17.0.3:8088
COMMIT
# Completed on Tue May 28 20:28:05 2024
# Generated by iptables-save v1.8.7 on Tue May 28 20:28:05 2024
*mangle
:PREROUTING ACCEPT [37873:257277525]
:INPUT ACCEPT [30364:255656388]
:FORWARD ACCEPT [7509:1621137]
:OUTPUT ACCEPT [25976:1343905]
:POSTROUTING ACCEPT [33485:2965042]
COMMIT
# Completed on Tue May 28 20:28:05 2024
# Generated by iptables-save v1.8.7 on Tue May 28 20:28:05 2024
*raw
:PREROUTING ACCEPT [37873:257277525]
:OUTPUT ACCEPT [25976:1343905]
COMMIT
# Completed on Tue May 28 20:28:05 2024
# Generated by iptables-save v1.8.7 on Tue May 28 20:28:05 2024
*security
:INPUT ACCEPT [30332:255653088]
:FORWARD ACCEPT [7509:1621137]
:OUTPUT ACCEPT [25976:1343905]
COMMIT
# Completed on Tue May 28 20:28:05 2024
# Generated by iptables-save v1.8.7 on Tue May 28 20:28:05 2024
*filter
:INPUT ACCEPT [344:30199]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 10.0.0.0/8 -p icmp -j DROP
-A INPUT -s 192.168.2.0/24 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A OUTPUT -j ACCEPT
-A OUTPUT -j ACCEPT
-A DOCKER -d 172.17.0.3/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 8088 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Tue May 28 20:28:05 2024

11. 假设你有一个允许所有HTTP流量(80端口)的规则,但现在你只想允许来自192.168.0.0/16的HTTP流量,你应该如何修改这个规则?

  • 先找到并删除旧的规则(假设它是INPUT链中的第3条规则):
 iptables -D INPUT 3
  • 然后添加新的规则
iptables -A INPUT -s 192.168.0.0/16 -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -s 192.168.0.0/16 -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
DROP       icmp --  10.0.0.0/8           anywhere            
ACCEPT     udp  --  192.168.2.0/24       anywhere             udp dpt:domain
ACCEPT     tcp  --  192.168.0.0/16       anywhere             tcp dpt:http

12. 你想要允许某个特定的IP地址(例如192.168.1.100)访问你服务器上所有的服务,应如何设置规则?

[root@localhost ~]# iptables -A INPUT -s 192.168.1.100 -j ACCEPT
[root@localhost ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
DROP       icmp --  10.0.0.0/8           anywhere            
ACCEPT     udp  --  192.168.2.0/24       anywhere             udp dpt:domain
ACCEPT     tcp  --  192.168.0.0/16       anywhere             tcp dpt:http
ACCEPT     all  --  192.168.1.100        anywhere

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

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

相关文章

.NET周刊【5月第4期 2024-05-26】

国内文章 开源低代码框架 ReZero API 正式版本发布 ,界面操作直接生成API https://www.cnblogs.com/sunkaixuan/p/18201175 ReZero是一款.NET6的中间件,采用MIT许可证开源,目的是降低.NET Core开发的门槛。它提供界面操作生成API的功能&am…

AI视频换脸!最快的方法,100%成功,完全免费,无需配置、打开即用

这是一款百分百完全免费,超级好用又简单的AI视频换脸工具,不仅效果非常不错而且支持CPU和GPU解码,即使电脑上没有独立显卡,你也可以通过电脑上的CPU要进解码,虽然我之前给他介绍好几个有关AI视频,比如像这个…

【全开源】酒店订单管理系统源码(FastAdmin+ThinkPHP)

一款基于FastAdminThinkPHP开发的旨在为民宿、酒店、宾馆等提供房态、订单、财务、客史等数据化、信息化的智慧管理工具,实现一站式订房管理,帮助酒店、民宿、宾馆提升管理效率,降低管理成本,提升行业竞争力。 打造高效、便捷的酒…

kafka-消费者组偏移量重置

文章目录 1、消费者组偏移量重置1.1、列出所有的消费者组1.2、查看 my_group1 组的详细信息1.3、获取 kafka-consumer-groups.sh 的帮助信息1.4、 偏移量重置1.5、再次查看 my_group1 组的详细信息 1、消费者组偏移量重置 1.1、列出所有的消费者组 [rootlocalhost ~]# kafka-…

5月28号总结

刷题记录 1.A. Phone Desktop 输入: 11 1 1 7 2 12 4 0 3 1 0 8 1 0 0 2 0 15 0 8 2 0 9 输出: 1 1 2 2 1 1 0 1 1 2 5 题意:题目给我们1x1和2x2的图标个数,让我们求最少需要多少个5x3的屏幕。 思路:当只看2x2的图…

短视频内容创意方法有哪些?成都科成博通文化传媒公司

短视频内容创意方法有哪些? 随着移动互联网的迅猛发展,短视频平台已成为人们日常生活中不可或缺的一部分。短视频以其短平快的特点,迅速吸引了大量用户。然而,面对海量的短视频内容,如何让自己的作品脱颖而出&#xf…

02 Prometheus入门安装教程

02 Prometheus入门安装教程 大家好,我是秋意零。今天分享一篇入门级Prometheus安装教程。 环境准备 三台Linux虚拟机(一台也可以) 准备Prometheus、相关组件安装包 Prometheus官网下载安装包比较慢,如果没有魔法。可关注公众号…

打包软件注意

1.建个文件夹D:333 /Dalsa_Cameras /cam1 cam2 2. 3.缺的包 4.自动启动.exe exe快捷方式放一起

头文件大小写引发的报错

jenkins下打包编译报错如下,提示编译zynqCan.c时找不到“syscfgpll/sysCfgpll.h”文件。 但IDE下编译是没有报错也没有警告的,工程中也存在文件“syscfgpll/sysCfgPll.h”。 仔细观察发现,报错说的是找不到头文件“syscfgpll/sysCfgpll.h”…

从 0 手撸一个 pytorch

背景介绍 最近抽空看了下 Andrej Karpathy 的视频教程 building micrograd,教程的质量很高。教程不需要任何前置机器学习基础,只需要有高中水平的数学基础即可。整个教程从 0 到 1 手撸了一个类 pytorch 的机器学习库 micrograd,核心代码不到…

关于VFX Graph的学习

关于VFX Graph的学习 转载自我的有道云笔记,目前内容不多,后续如果继续使用会更新。 前言 出于实习工作需要和毕设需要,我开始使用VFXGraph。 以前准备第一批作品集的时候,就简单地使用过,但是只是跟着教程一顿乱连…

PENDLE会是打响LSDFI赛道的第一枪吗?以bitget钱包为例

Pendle Finance是什么? PENDLE是Pendle Finance的原生通证,因此,在介绍Pendle币之前,我们需要对Pendle Finance有一个简单的了解。、 Pendle是一个建立在以太坊区块链上的无需许可的去中心化金融(DeFi)协议&#xff…

长三角智能科技高端盛会—南京人工智能展览会(南京智博会)

南京,作为一座历史悠久的文化名城,早已不仅仅以其深厚的文化底蕴和独特的自然风貌著称于世。而今,这座古老而又年轻的城市,正以其卓越的科技实力和创新精神,成为中国乃至全球科研领域的一颗璀璨明珠。南京不仅是中国三…

打造高质感的电子画册,这篇文章告诉你

​在数字化时代,电子画册作为一种全新的视觉传达方式,正逐渐成为各行各业展示形象、传播信息的重要工具。相较于传统的纸质画册,电子画册具有更高的质感、更好的互动性以及更低的制作成本,使得它愈发受到众多企业的青睐。那样怎么…

【umi-max】初识 antd pro

修改端口号 根目录下的 .env 文件: PORT8888目录结构 (umijs.org) 新增页面 在 umirc.ts 中进行配置。 新增页面 - Ant Design Pro 这里有一个配置 icon:string,可以在菜单加 icon 图标,默认使用 antd 的 icon 名,默认不适用二…

pands使用openpyxl引擎实现EXCEL条件格式

通过python的openpyxl库,实现公式条件格式。 实现内容:D列单元格不等于E列同行单元格时标红。 #重点是formula后面的公式不需要“”号。 from openpyxl.styles import Color, PatternFill, Font, Border from openpyxl.styles.differential import Dif…

记录深度学习GPU配置,下载CUDA与cuDnn

目标下载: cuda 11.0.1_451.22 win10.exe cudnn-11.0-windows-x64-v8.0.2.39.zip cuda历史版本网址 CUDA Toolkit Archive | NVIDIA Developer 自己下载过11.0.1版本 点击下载local版本,本地安装,有2个多GB,很大,我不喜欢network版本,容易掉线 cuDnn https://developer.nvi…

selenium源码学习

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

Zookeeper的watch 机制

Watch机制介绍 我们可以把Watch理解成是注册在特定Znode上的触发器。当这个Znode发生改变,也就是调用了create,delete,setData方法的时候,将会触发Znode上注册的对应事件,请求Watch的客户端会收到异步通知 ZooKeeper…

基于LLM的优化器评测-非凸函数

基于LLM的优化器评测-非凸函数 目标函数测试结果测试代码测试日志 背景: ​ 很多时候我们需要为系统寻找最优的超参.比如模型训练,推理的量化等.本文尝试将LLM当成优化器,帮忙我们寻找最优的超参. 验证方法: 1.设计一个已知最优解的多项式,该多项式有3个变量(因为3个变量可以…