iptables

1、iptables

iptables分为四表五链:

四表:mangle raw nat filter

五链:input output forward prerouting postrouting

2、查看

查看iptables规则
iptables -vnL
-v  查看时显示更详细信息
-n  所有字段以数字形式显示
-L  查看规则列表

3、允许和拒绝

iptables -t filter -A INPUT -s 192.168.91.101 -j ACCEPT
接受来自192.168.91.101的包

拒绝来自 192.168.91.101 的源地址 直接丢弃
iptables -t filter -A INPUT -s 192.168.91.101 -j DROP

4、删除规则

iptables  -D INPUT 1   删除第1条规则

5、黑白名单

修改默认规则为 白名单后自己也无法访问

所以要先把重要的写入 再更改为白名单

iptables -P INPUT DROP
将默认规则改为禁止

在规则最后一条加上拒绝所有也可以实现白名单

6、清空规则

iptables  -F
清空规则

7、扩展模块

显示扩展    必须加   -m  选项

隐式扩展  -p   tcp 指定了特殊的协议无需再次使用-m 选项

1、tcp

指定端口号   
iptables -I INPUT 3 -s 192.168.91.101 -p tcp --dport 80 -j REJECT
iptables -I INPUT 3 -s 192.168.91.101 -p tcp --dport 80:82 -j REJECT  连续的

2、icmp

A可以ping通B   B 不可以ping通A

双方都不可以ping:

iptables -A INPUT -s 192.168.91.101 -j REJECT

拒绝请求包:

iptables -A INPUT -s 192.168.91.101 -p icmp --icmp-type 8 -j REJECT

拒绝回复包:

iptables -A OUTPUT -d 192.168.91.101 -p icmp --icmp-type 0 -j REJECT

3、iprange

iptables -A INPUT  -m iprange --src-range 192.168.91.101-192.168.91.103 -j REJECT 
指定 源地址为192.168.91.101-192.168.91.103   3个地址无法访问 当前主机

4、mac

iptables -A INPUT -m mac --mac-source 00:0c:29:2a:d6:05 -j DROP
指定mac地址的包全部拒绝
只有源mac没有目标mac

5、state状态

NEW:无论是我发出的第一个包还是收到的第一个包  都叫NEW
ESTABLISHED:NEW 之后都叫ESTABLISHED,除了第一个

实现功能老用户可以访问,新用户不可以访问

iptables -AINPUT -m state --state ESTABLISHED -j ACCEPT
已在ping 的可以继续ping,停了也不可以通了,xshell也不可以再连iptables -AINPUT -m state --state NEW -j REJET
新用户拒绝

A不能访问我,我可以访问A    单向通讯

iptables -A INPUT -s 192.168.91.101 -j REJECT
不行都不可以了iptables -A INPUT -s 192.168.91.101 -m state --state NEW -j REJECT
第一个包是请求包只要禁止请求包即可

8、自定义链

iptables -N web  自定义链 
iptables -vnL    可以看到自己定义的链
iptables -E web  WEB   改名

删除自定义链
iptables -F INPUT
iptables -F WEB
iptables -X WEB

9、nat

9.1、snat

iptables -t nat -A POSTROUTING -s 192.168.91.100/24 -o ens36 -j SNAT --to 12.0.0.254
将源地址为192.168.91.0段的私网地址全部  转化为网关地址

iptables -t nat -A POSTROUTING -s 192.168.91.0/24 -o ens36 -j MASQUERADE
如果地址不固定可以设置                              

9.2、dnat

iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.91.100

9.3、用内网查看外网的网站

配置三台机器:一个外网服务器做wed网站,一个服务器做nat转换,一台做内网机

用外网服务器配置一个wed页面

配置nat转换服务器

iptables -t nat -A POSTROUTING  -o ens36 -s 192.168.64.0/24 -j SNAT --to \
12.255.255.2
服务器进行内网到外网的转换

iptables -t nat -A PREROUTING -i ens36 -d 12.255.255.2 -p tcp --dport 80 -j \
DNAT --to 192.168.64.100:8080
服务器进行外网到内网的转换

 

iptables -vnL

 

使用内网客户端打开wed

curl 12.0.0.3
使用内网客户端打开外网wed

 

 


 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dockers搭建基本服务

1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 拉取mysql-5.6和owncloud的镜像 docker run -d --name mdb --env MYSQL_ROOT_PASSWORD123 cytopia/mysql-5.6 docker run -d -p 90:80 --name webdcloud --link mdb:mdb owncloud 注册的时候,数据…

攻防世界-fileclude

原题 解题思路 直接展示源码了,flag.php应该存放了flag,在file1与file2都不为空且file2是“hello ctf”时file1将被导入。接下来做法很明显,让file为flag.php,file2为“hello ctf”。“?file1php://filter/readconvert.base64-en…

docker搭建es+kibana

docker搭建eskibana 0 安装docker 如果是mac或者windows,可以直接安装Docker Desktop更加便捷。 前提条件: Docker可以运行在Windows、Mac、CentOS、Ubuntu等操作系统上 Docker支持以下的CentOS版本: CentOS 7 (64-bit)CentOS 6.5 (64-bit…

Qt安卓开发经验技巧总结V202308

01:01-05 pro中引入安卓拓展模块 QT androidextras 。pro中指定安卓打包目录 ANDROID_PACKAGE_SOURCE_DIR $$PWD/android 指定引入安卓特定目录比如程序图标、变量、颜色、java代码文件、jar库文件等。 AndroidManifest.xml 每个程序唯一的一个全局配置文件&…

SLAM-VIO视觉惯性里程计

SLAM 文章目录 SLAM前言IMU与视觉比较单目视觉缺陷:融合IMU优势:相机-IMU标定松耦合紧耦合基于滤波的融合方案:基于优化的融合方案: 前言 VIO(visual-inertial odometry)即视觉惯性里程计,有时…

记录首次面试2023-08-18

人生第一次面试,大概一个小时左右。没有问我C的,上来一个数据库事务,虽然没有复习,但是还是能够记住一些,主要问的一些事务的隔离级别,以及都有什么作用,我是举例回答的,客户端A和客…

【RabbitMQ】消息队列-RabbitMQ篇章

文章目录 1、RabbitMQ是什么1.1、RabbitMQ---使用场景一般场景解耦削峰异步 2、Dokcer安装RabbitMQ2.1安装Dokcer2.2安装rabbitmq 3、RabbitMQ入门案例 - Simple 简单模式4、RabbitMQ的核心组成部分4.1 RabbitMQ整体架构4.2RabbitMQ的运行流程 5、RabbitMQ的模式5.1 发布订阅模…

最新ChatGPT网站程序源码+AI系统+详细图文搭建教程/支持GPT4.0/AI绘画/H5端/Prompt知识库

一、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&#xff01…

Linux(入门篇)

Linux(入门篇) Linux概述Linux是什么Linux的诞生Linux和Unix的渊源GNU/LinuxLinux的发行版Linux VS Windows Linux概述 Linux是什么 Linux是一个操作系统(OS) Linux的诞生 作者:李纳斯托瓦兹(git也是他开发的😂&am…

微人事 部门管理 模块 (十五)

部门管理的树展示和搜索 数据展示页是个树,我们一次性把数据加载出来也可以通过点一次id加载查询出来出来子部门,我们用一次拿到说有json数据加载出来 数据不多可以用递归,数据很多就用懒加载的方式 由于子部门比较深就不适合,权…

无涯教程-Perl - sub函数

描述 此函数定义一个新的子例程。上面显示的参数遵循以下规则- NAME是子例程的名称。可以在有或没有原型规范的情况下预先声明命名的子例程(没有关联的代码块)。 匿名子例程必须具有定义。 PROTO定义了函数的原型,调用该函数以验证提供的参数时将使用该原型。 ATTRS为解析…

关于查看处理端口号和进程[linux]

查看端口号 lsof -i:端口号如果-bash: lsof: 未找到命令那我们可以执行yum install lsof 删除端口号进程 一般我们都会使用kill命令 kill -l#列出所有可用信号1 (HUP):重新加载进程。9 (KILL):杀死一个进程。15 (TERM):正常停止一个进程。 …

Java后端面试题——Mysql篇

在Mysql中,如何定位慢查询呢? 表象:页面加载过慢、接口压测响应时间过长(超过1s) 原因:聚合查询 多表查询 表数据量过大查询 深度分页查询 方案:MySQL自带慢日志 需要在MySQL的配置文件&…

【汇编语言】栈及栈操作的实现

文章目录 栈结构栈操作栈的小结 栈结构 栈是一种只能在一端插入或删除的数据结构;栈有两个基本的操作:入栈和出栈; 入栈:将一个新的元素放到栈顶;出栈:从栈顶取出一个元素; 栈的操作规则&#…

Echarts升级7:环状图+标题设置+legend属性

效果 注意的点&#xff1a; title样式颜色设置legend颜色设置legend textStyle 样式设置&#xff1b;formatter样式设置&#xff0c;文字拆分 代码&#xff1a; <template><div style"width: 100%; height: 100%;"><div id"siteStatusStatis…

FL Studio21.1中文完整版Win/Mac

FL Studio All Plugins Edition【中文完整版 Win/Mac】适合音乐制作人/工作室使用&#xff0c;全套插件!&#xff08;20.9新增Vintage Chorus&#xff0c;Pitch Shifter变调插件&#xff09;FL Studio是超多顶级音乐人的启蒙首选&#xff01;包括百大DJ冠军Martin Garrix&…

PyCharm连接Docker中的容器(ubuntu)

一、为什么要用Pycharm链接Docker中的ubuntu 因为在进行深度学习的时候&#xff0c;基于windows系统在开发的过程中&#xff0c;老是出现很多问题&#xff0c;大多数是环境问题。 尽管安装了Conda&#xff0c;也不能很好的解决问题&#xff0c;使用ubuntu是最好的选择。 二、…

SpringAOP原理:手写动态代理实现

0、基础知识 AOP我们知道&#xff0c;是在不修改源代码的情况下&#xff0c;为代码添加一些新功能的技术。通过动态代理&#xff0c;可以在不修改原始类代码的前提下&#xff0c;对方法进行拦截和增强。 动态代理常用于在不改变原有业务逻辑的情况下&#xff0c;对方法…

4.Linux下Cmake交叉编译Qt项目到Jetson Orin Nano(arm)

由于3&#xff1a;Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano&#xff08;ARM&#xff09;_月上林梢的博客-CSDN博客 这一篇文章只用手动配置&#xff0c;一直在点、点、点。比较 LOW&#xff0c;现在在Ubuntu上使用Cmake实现交叉编译QT程序到Jetson Orin Nano…