linux下iptables详解
1.selinux 关闭
vim /etc/sysconfig/selinux设置方法: 1 #SELINUX=enforcing #注释掉2 #SELINUXTYPE=targeted #注释掉3 SELINUX=disabled #增加4 :wq #保存,关闭。5 shutdown -r now #重启
View Code
2.iptables 内网关闭,外网打开,大并发情况下,不能开iptables,影响性能,硬件防火墙。
iptables 工作流程小结
1.防火墙是一层层过滤的。实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
2.如果匹配上规则,即明确表明是阻止还是通过,此时数据包就不再向下匹配新规则了。
3.如果所有规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
4.防火墙的默认规则是对应链的所有的规则执行完才会执行的。
5.iptables 配置实战:
iptables -V 查看iptables 版本
man iptables 查看iptables帮助
查看防火墙的状态
/etc/init.d/iptables status
iptables -nL
6.查看liunx内核默认加载模块
lsmod |egrep "nat|filter"
加载如下模块到linux内核
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
7.iptables 命令
-n 数字
-L 列表
-F 清除所有规则 ,只留下默认规则,允许所有通过。
-X 删除用户自定义的链
-Z 链的计数器清零
-t 指定表
--line-numbers 显示序号
-A添加规则到指定链的结尾,最后一条
-I添加规则到指定链的开头,是第一条
-D 删除规则 ##删除指定规则 iptables -D INPUT -p tcp --dport 1000 -j ACCEPT
这个区别的意义在意,规则是由上先下执行匹配;可以应用与防DDOS。
测试规则端口是否生效,可以再 cmd 上 telnet 10.0.0.18 80 看是否能连接。
iptables -I INPUT 2 -p tcp --dort 1000 -j ACCEPT (2为第二行,插入在第二行的前面)
-p协议 (all,tcp , udp,icmp). 默认all
--dport目的端口
--sport 源端口
-j (jump)处理的行为
-s 指定源地址
-d 指定目的地址
-i INPUT 匹配进入的网卡接口
-o OUTPUT 匹配出去的网卡接口
==========================
基本的处理行为:ACCEPT(接受),DROP(丢弃),REJECT(拒绝)
8. 查看某个服务的端口
netstat -lntup|grep mysql
netstat -lntup|grep ssh
拒绝ssh远程连接(加了这条无法用xshell进行远程连接了),iptables默认的就是filter表,可以不指定,下面两条相等。
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport 22 -j DROP
-t指定filter表(不加这条,默认也是filter), -A增加规则,-p指定协议 --dport 指定端口,-j指定行为 DROP 为拒绝。
断掉后,得在远程主机,删除这条规则,或者清空规则才可以进行远程连接。
9.禁止网段连入
iptables -A INPUT -i etho -s 10.0.0.0/24 -j DROP
10.匹配端口范围(用冒号连接)--最佳写法
iptables -I INPUT -p tcp --dport 8080:8090 -j ACCEPT
还可以用列表形式添加多端口匹配 -m multiport
iptables -I INPUT -p tcp -m multiport --dport 21,80,8088,8080,3306 -j ACCEPT ,第一天允许,下面的不DROP 规则不匹配;
11.禁止ping (--imcp type8为ping)
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
12 匹配网络状态
-m state --state
NEW :已经或将启动新的连接
ESTABLISHED : 已经建立的连接
RELATED:正在启动的新连接
INVALID:非法或无法识别的
13.允许关联的数据包通过(web服务不要使用FTP服务)
#others RELATED ftp协议
#允许关联的状态包
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
14.生产环境中iptables 配置
#清除所有规则 ipatbles -F#清除用户自定义的链 iptables -X#清除当前所有链的计数器 iptables -Z#允许ssh远程连接端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许网卡回环接口(服务器本机) iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT#设置DROP掉FORWARD,INPUT链,允许OUTPUT链 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT#允许指定网段通过(外网网段与内网网段) iptables -A INPUT -s 211.154.152.0/24 -p all -j ACCEPT iptables -A INPUT -s 192.168.152.0/24 -p all -j ACCEPT#允许对外提供服务80端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT#允许icmp类型通过(所有ip都能ping) iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT# 允许关联的包通过(一般应用与ftp) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT#永久保存防火墙配置,预防重启后失效 /etc/init.d/iptables save 或用重定向方式保存(很少用) iptables-save >/etc/sysconfig/iptables
iptables
生产环境中
使用iptables -F 切忌(特别是托管机房)
要先执行
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
/etc/init.d/iptables save
然后执行
iptables -F
要不然,没有规则,全部是drop ,ssh 断开了,所有连接失效,很严重;
15.生产环境中iptables 维护
#编辑规则 vim /etc/sysconfig/iptables#加入想要的规则 -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT/etc/init.d/iptables reload##改DROP 一定要线下先测试一通,避免把自己DROP掉#封IP,第一行封,范围小,影响不大 iptables -I INPUT -p tcp -s 10.0.0.106 --dport 80 -j DROP
View Code
16 nat 表的核心功能: IP及端口的映射转换
1.共享上网
2.端口映射
17
扩展匹配
指定-m选项,表示用什么模块来匹配,如:
-m state --state
NEW,ESTABLISHED,RELATED 表示用state模块来匹配当前连接状态为这三种状态的连接
-m iprange
--src-range 用iprange模块匹配来源的ip地址范围
--dst-range 用iprange模块匹配目的的ip地址范围
-m multiport
--source-ports 用multiport模块来匹配来源的端口范围
--destination-ports 用multiport模块来匹配目的的端口范围
我们看如下一条例子来解读:
-A INPUT -p tcp -m iprange --src-range 121.21.30.36-121.21.30.100 -m multiport --destination-ports 3326,3327,3328 -m state --state NEW -j ACCEPT
这表示来自121.21.30.36-121.21.30.100这个地址范围的,请求端口为3326,3327,3328并且是新建的连接,都给予放行
转载于:https://www.cnblogs.com/wolfboy55-163-com/p/8149632.html
linux下iptables详解相关推荐
- 弱网环境搭建之 Linux tc iptables 详解
弱网环境搭建之 Linux tc 详解 0. 背景 1. 工具选择 2. 搭建流程 2.1 Linux tc 简介 2.2 弱网搭建思路 2.3 完整代码展示 0. 背景 笔者有一个需要搭建弱网环境来 ...
- Linux下命令详解(-)
linux 下的命令详解 今天的是linux下tar包的打包和解包 打包并压缩 解包解压缩的命令详解 要是有不对的地方请各位指正,和有补充的请留言 在此表示感谢 By:黑风 打包 (把多个文件放在 ...
- Linux下task_struct详解
背景:为了管理进程,操作系统必须对每个进程所做的事情进行清楚地描述,为此,操作系统使用数 据结构来代表处理不同的实体,这个数据结构就是通常所说的进程描述符或进程控制块. 在linux系统中,这就 ...
- Oracle10g在linux下安装详解
Oracle数据库我想大家都知道我在这里就不多介绍了,它也有很多的版本,我们今天来安装一下oracle10g,根据我的理解oracle数据库大部分都安装在linux下,所以我们就在linux下来安装o ...
- 登陆linux主机提示all,修改 linux 的命令行提示符PS1-限制IP通过SSH登陆linux服务器-linux下系统服务详解_169IT.COM...
很多朋友可能对windows下的服务比较了解,但对于linux下的系统服务(守护进程)可能有些陌生. 这里收集了57个linux下的系统服务的详细解释,供大家学习参考. 1. NetworkManag ...
- linux路由表命令,linux下路由表详解
主机想要发送数据的时候,参考的对象就是路由表. 如果两个不同网段的主机想要发送数据,经过的具体的经过: 1.查询IP数据包的目标IP地址,主机会查阅Ip数据包报头的目标IP地址. 2.查询是否存在与本 ...
- 【Linux】iptables详解
文章目录 iptables简介 iptables基础 iptables和netfilter的关系 iptables传输数据包的过程 iptables的规则表和链 表(tables) 链(chains) ...
- linux setcap指令,Linux下setcap详解
为啥要讲setcap这个玩意呢,因为最近在做国产化系统编译安装产品,遇到普通用户下Nginx不能够小于1024一下端口的问题. CAPABILITIES(7) 文档有一段: For the purpo ...
- linux下udev详解
一.udev简介 udev是一个设备管理工具,udev以守护进程的形式运行,通过侦听内核发出来的uevent来管理/dev目录下的设备文件.udev在用户空间运行,而不在内核空间 运行.它能够根据系统 ...
- LINUX下 Udev详解
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev ...
最新文章
- C# 3.0下有限状态机的一种优雅的实现
- mysql日期加一天的公式_2020国考行测冲刺指导:数学运算常用公式大盘点
- jqgrid实现客户端导出Excel、txt、word、json等数据格式的文件
- PC端自适应使用rem
- 无人机航拍高空全景图的四个步骤
- 一、肿瘤全基因组分析概况(Pan-cancer analysis of whole genomes,PCAWG)
- ROS话题通信c++和python实现
- Windows 10打开蓝牙已关闭解决方法
- 扫描文件存电子版方法
- 为什么你的人脉都没什么用!
- java实现CORBA
- 如何使用Python实现图像文字识别OCR
- 那些年啊,那些事——一个程序员的奋斗史 ——72
- 计算机网络基础中国石油大学,2017中国石油大学继续教育计算机网络基础答案...
- Xilinx与Altera的FPGA区别
- Python办公自动化之收发邮件--163和qq邮箱
- 架构和框架(Framework)的区别
- 【调剂】华东交通大学软件学院2020年硕士研究生招生调剂信息
- 1/cos^3的不定积分 cos^3分之一的不定积分
- c语言序数英文,(英语 )序数词第一至40怎么写序数词第一至40怎么写?谁帮个忙...