防火墙:iptables

包过滤的防火墙

安装iptables管理器:
yum install -y iptables-services

 

 

有四个表
1.filter表:包过滤
2.net表:nat转换(网络地址转换)
3.mangle表:包重构(修改)
4.raw表:数据跟踪处理

五条链:
1.INPUT:数据进入
2.OUTPUT: 出去的
3.FORWARD:路过
4.PREROUTING:
5.POSTROUTING
pre ....之前
post ....之后

 

#iptables命令参数
-t:选表
-L:列出
-n:显示行号
-A:添加规则
-j:添加处理方式(dorp 丢弃)
-p:指定协议(tcp udp)
-D:删除
-d:目的ip
-I:插在第一条
-s:源ip#iptables命令参数
-t:选表
-L:列出
-n:显示行号
-A:添加规则
-j:添加处理方式(dorp 丢弃 DNAT地址转换)
-p:指定协议(tcp udp)
-D:删除
-d:目的ip
-I:插在第一条
-s:源ip
-F:清楚所有规则


一.filter表:包过滤

1.查看表
iptables -t filter -L -n
2.拒绝访问8080
iptables -t filter -A INPUT -j DROP -p tcp --dport 8080
3.删除表的第一条数据
iptables -t filter -D INPUT -j DROP 1
4.拒绝访问某个ip的包(某个网卡)
iptables -t filter -A INPUT -j DROP -p tcp -d 47.121.131.108
5.屏蔽某个ip访问
iptables -t filter -I INPUT -j DROP -s 123.56.227.79

iptables -t filter -I INPUT -j REJECT -s 123.56.227.79 (REJECT,拒绝,对方能知道)
删除这个规则
iptables -t filter -D INPUT 1
6.屏蔽某个ip网段
iptables -t filter -I INPUT -j DROP -s 123.56.227.0/24
7.只允许指定网段的访问
方法1:(! ,取反)
iptables -t filter -I INPUT ! -j DROP -s 123.56.227.0/24
方法2:(默认全拒绝,设置允许的网段)
考虑的多:ssh等要允许,见11

8.拒绝访问多个端口
-m multiport -p tcp --dport 80,443,3308 :使用模块
iptables -t filter -I INPUT -j DROP -m multiport -p tcp --dport 80,443,3308
iptables -t filter -I INPUT -j DROP -p tcp --dport 34:1000 (:, 从34到1000端口)

9.禁ping
iptables -t filter -I INPUT -j DROP -p ICMP
iptables -t filter -I INPUT -j DROP -p ICMP --icmp-type 8

把/proc/sys/net/ipv4/icmp_echo_ignore_all设置成1 (临时)

设置/etc/sysctl.conf中net.ipv4.icmp_echo_ignore_all = 1 (永久)
sysctl -p 生效

10.防火墙规则保存与恢复
1.) iptables-save 打印在屏幕上
2.) iptables-save >/etc/sysconfig/iptables 保存到文件

3.)iptables-restore </etc/sysconfig/iptables 恢复


11.设置默认拒绝
要先配置允许的东西
iptables -F
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT (回环地址允许)
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m multiport -p tcp --dport 80,443,3308 -j ACCERT
iptables -A INPUT -s 10.0.0.0/24 -j ACCERT
iptables -A INPUT -s 192.168.254.0/24 -j ACCERT (内网连接允许)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCERT (连接状态允许)
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCERT
iptables -P INPUT DROP (设置默认为拒绝)

 

二.net表:nat转换
#iptables命令参数
-pre:修改目的地址
-post:修改源地址
-j DNAT:地址转换
--to:转换到
-j MASQERADE:转发到出口网卡
1.查看表
iptables -t nat -nvL


2.共享上网
1)配置防火墙SNAT规则
iptables -t nat -A POSTROUTING -s 123.56.227.0/24 -j SNAT --to-source 123.56.227.79
或者
iptables -t nat -A POSTROUTING -s 123.56.227.0/24 -j MASQUERADE (伪装成自己的ip,如果自己ip变化)
2)开启内核转发功能
修改/etc/sysctl.conf中net.ipv4.ip_forward = 1
sysctl -p 生效
3)客户端网关指向防火墙
修改客户端的/etc/sysconfig/network-scripts/ifcfg-eth1中的网关
GETWAY=47.121.131.108
DSN1=8.8.8.8
systemctl restart network

2.端口转发
iptables -t nat -A PREROUTING -d 47.121.131.108 -p tcp --dport 20000 -j DNAT --to-destination 39.103.150.37:22

iptables -t nat -A PREROUTING -p tcp --dport 20000 -j DNAT --to-destination 39.103.150.37:22
iptables -t nat -A POSTROUTING -p tcp -d 39.103.150.37 --dport 22 -j SNAT --to-source 47.121.131.108


3.端口转发:
iptables -t nat -A PREROUTING -p tcp --dport 22222 -j DNAT --to-destination 39.103.150.37:22
iptables -t nat -A POSTROUTING -j MASQUERADE (添加一条 POSTROUTING 规则来允许转发的数据包从本地系统发出)

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

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

相关文章

lvs+dr+httpd+keepalived高可用部署

lvs+dr+httpd+keepalived高可用部署参考文档:http://blog.csdn.net/m582445672/article/details/7670015 a、 keepalived 是lvs 的扩展项目,因此它们之间具备良好的兼容性。这点应该是keepalived 部署比其他类似工具能更简洁的原因吧! b、 通过对服务器池对象的健康检查,实…

《数字经济:行业产业链》全景梳理及区域热力图

行业主要上市公司:中兴通讯(000063)、大华股份(002236)、中科创达(300496)、软通动力(301236)、奇安信(688561)、同方股份(600100)、……等 本文核心数据:《数字经济:产业链 》、《数字经济:产业链 - 生态图谱》、《“产业数字化” 和 “数字产业化” 上市公司…

《数字经济行业产业链》全景梳理及区域热力图

行业主要上市公司:中兴通讯(000063)、大华股份(002236)、中科创达(300496)、软通动力(301236)、奇安信(688561)、同方股份(600100)、……等 本文核心数据:《数字经济产业链 》、《数字经济产业链生态图谱》、《产业数字化 和 数字产业化上市公司区域分布 TOP5》、…

【长路经】C#读取文件抛出FileNotFoundException异常

前言 在winform中读取文件信息时,突然抛出了FileNotFoundException的异常,但是本地是有这个文件的。 随后找到了这个文件,查看属性,[位置]属性,多了"\\?\"的前缀,百度得知这是windows对长路经的处理。需要注意: 目前在NetFx框架下,才有这个问题。 在NetCore…

【unity】学习制作类银河恶魔城游戏-5-

在-1---4-中,了解了unity的基础操作,从创建一个人物开始,通过状态机和代码完善人物的各种功能达到预期效果,随着功能的越来越多,状态机的处理也就越发麻烦,因此,从零开始设计一个合理的状态机很有必要 梦开始的地方 创建一个新的项目修改舒服的布局创建状态机,通过脚本…

CH340C 请求 USB 设备描述符失败

简短不看版如果出现上述状况,说明线有问题:线的确是数据线(不是电源线),但是不是能与CH340正常通讯的数据线(数据线的数据传输功能有问题。 需要更换其它数据线.前文该文分享CH340驱动使用过程可能出现的问题,以下出现的问题解决方案都建立在CH340硬件正常的情况下。CH3…

CH32V203F6P6-TSSOP20测试之02

一、问题思考 直接用官方提供的例程,为何下载程序后没有什么响应,难道自己设计的电路有什么不妥? 于是,对于电路进行具体分析,结果发现: 第一、官方的BOOT0采用杜邦线连接,在芯片手册好像找不到关于BOOT0的叙述,仅仅在《CH32V20x评估板说明书》中看到:也就是说,这芯片…

PVC

短线反弹

大语言模型提示技巧(一)-指令要清晰、具体

在与大语言模型对话时,应该提供尽可能清晰和具体的指令来表达希望模型执行的操作,这将有助于模型给出接近你所期待的输出,并降低得到无关或不正确回复的可能性。但需要注意的是,编写清晰的指令不意味着编写简短的指令,事实上,更长的提示实际上更清晰且提供了更多的上下文…

再见2024,一个算法研发的个人年终总结

元旦将近,显然又是一年岁末。 同事开始讨论中午吃什么,以及晚上的跨年计划之类的大问题。 我开始努力回想自己的2024,秉承着毕业以来每年写个人总结的习惯, 也因为近年来自己的节奏和生活越来越快,只能在年终的节点停下来回顾下自己的历程。 前言 我打开了自己的相册,下面…

; 自动设置电脑快捷键的AutoHotkey脚本程序源代码 2025年1月1日

; 自动设置电脑快捷键的AutoHotkey脚本程序源代码 2025年1月1日 ; 自动设置电脑快捷键的AutoHotkey脚本程序源代码 2025年1月1日;======== 设置显示或者隐藏MasterSeeker和Total Commander主窗口的快捷键的AutoHotkey脚本2024.10.21 ========= ; 此脚本从此行开始 ; D:\app\Re…

记 Redisson 报错 attempt to unlock lock, not locked by current thread

原文:记一次 Redisson 线上问题 → 你怎么能释放别人的锁错误信息: attempt to unlock lock, not locked by current thread by node id: b9df1975-5595-42eb-beae-bdc5d67bce49 thread-id: 52查看日志,找到对应的堆栈信息 Exception in thread "thread0" java.la…