iptables详解--转

查看防火墙设置:

第一种方式:

cat /etc/sysconfig/iptables

第二种方式:

iptables -L -n -v

设置防火墙:

第一种方式:

 iptables -I INPUT -p tcp --dport  -j ACCEPT
service iptables save
iptables -I INPUT -p tcp --dport 需要打开的端口 -j ACCEPT
service iptables save
service iptables restart

第二种方式:

vi /etc/sysconfig/iptables 直接编辑防火墙配置文件
service iptables restart 重启服务

iptables命令格式:

iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网域] [-d 目标IP/网域] -j [ACCEPT|DROP|REJECT|LOG]

选项与参数:
-AI 链名:针对某的链进行规则的 "插入" 或 "累加"
-A :新增加一条规则,该规则增加在原本规则的最后面。例如原本已经有四条规则,
使用 -A 就可以加上第五条规则!
-I :插入一条规则。如果没有指定此规则的顺序,默认是插入变成第一条规则。
例如原本有四条规则,使用 -I 则该规则变成第一条,而原本四条变成 2~5 号
链 :有 INPUT, OUTPUT, FORWARD 等,此链名称又与 -io 有关,请看底下。

-io 网络接口:设定封包进出的接口规范
-i :封包所进入的那个网络接口,例如 eth0, lo 等接口。需与 INPUT 链配合;
-o :封包所传出的那个网络接口,需与 OUTPUT 链配合;

-p 协定:设定此规则适用于哪种封包格式
主要的封包格式有: tcp, udp, icmp 及 all 。

-s 来源 IP/网域:设定此规则之封包的来源项目,可指定单纯的 IP 或包括网域,例如:
IP :192.168.0.100
网域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。
若规范为『不许』时,则加上 ! 即可,例如:
-s ! 192.168.100.0/24 表示不许 192.168.100.0/24 之封包来源;

-d 目标 IP/网域:同 -s ,只不过这里指的是目标的 IP 或网域。

-j :后面接动作,主要的动作有接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)及记录(LOG)

范例:只要是来自内网的 (192.168.100.0/24) 的封包通通接受
iptables -A INPUT -i eth1 -s 192.168.100.0/ -j ACCEPT
范例:只要是来自 192.168.100.10 就接受,但 192.168.100.230 这个恶意来源就丢弃
iptables -A INPUT -i eth1 -s 192.168.100.10 -j ACCEPT
ptables -A INPUT -i eth1 -s 192.168.100.230 -j DROP

这就是最单纯简单的防火墙规则的设定与观察方式。不过,在上面的案例中,其实你也发现到有两条规则可能有问题~ 那就是上面的特殊字体圈起来的规则顺序。明明已经放行了 192.168.100.0/24 了,所以那个 192.168.100.230 的规则就不可能会被用到!这就是有问题的防火墙设定啊!了解乎?那该怎办?就重打啊!

那如果你想要记录某个规则的纪录怎么办?可以这样做:

iptables -A INPUT -s 192.168.2.200 -j LOG  LOG表示动作

Linux下iptables屏蔽IP和端口号

个IP的命令:

iptables -I INPUT -s 124.115.0.199 -j DROP

封IP的命令:/16

iptables -I INPUT -s 124.115.0.0/ -j DROP

个段的命令:/8

iptables -I INPUT -s 194.42.0.0/ -j DROP

个段的命令:/24

iptables -I INPUT -s 61.37.80.0/ -j DROP

只封80端口:

iptables -I INPUT -p tcp –dport  -s 124.115.0.0/ -j DROP

解封:

iptables -F

清空:

iptables -D INPUT 数字

列出 INPUT链 所有的规则:

iptables -L INPUT --line-numbers

删除某条规则,其中5代表序号(序号可用上面的命令查看):

iptables -D INPUT 

开放指定的端口:

iptables -A INPUT -p tcp --dport  -j ACCEPT

禁止指定的端口:

iptables -A INPUT -p tcp --dport  -j DROP

拒绝所有的端口:

iptables -A INPUT -j DROP

以上都是针对INPUT链的操作,即是外面来访问本机的方向,配置完之后 需要保存,否则iptables 重启之后以上设置就失效.

service iptables save

禁止被ping到

iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type  -j DROP   # 禁止icmp端口
iptables -A INPUT -i eth0 -p icmp -j DROP # 禁止icmp端口

iptables 对应的配置文件  /etc/sysconfig/iptables

注意:iptables的规则匹配顺序上从上到下的,也就是说如果上下两条规则有冲突时,将会以上面的规则为准。

例子:

iptables -I INPUT -p tcp -s ip地址 -j ACCEPT
iptables -I INPUT -p tcp -s ip地址/ -j ACCEPT iptables -I INPUT -s 10.53.0.0/ -j ACCEPT iptables -I INPUT -s 192.168.8.0/ -j ACCEPT iptables -I INPUT -s 192.168.6.0/ -p tcp --dport 端口 -j ACCEPT iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 端口 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 12340 -j LOG --log-prefix "INPUT-12340" --log-level 3 --log-tcp-sequence --log-ip-options
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT //icmp
  iptables -A INPUT -i lo -j ACCEPT //本地回还地址
  iptables -A INPUT -i eth0 -j REJECT --reject-with icmp-host-prohibited //指定外网网卡

iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited //所有网卡

iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited 
iptables-save
service iptables save service iptables restart
cat /etc/sysconfig/iptables

防火墙日志:
#vim /etc/rsyslog.d/iptables.conf
  kern.err /data/log/iptables.error.log
#/etc/init.d/rsyslog restart

检测端口的工具
yum install -y nc
nc -v -w 2 -z ip地址 端口

Linux命令-防火墙命令:iptables的更多相关文章

  1. Linux:Linux操作防火墙命令

    首先查看Linux的防火墙是否关闭 firewall-cmd Linux上新用的防火墙软件,跟iptables差不多的工具. firewall-cmd --state # 显示防火墙状态 system ...

  2. Linux 关闭防火墙命令

    用linux自己来访问web是可以的 比如 192.168.2.20就可以访问本机的相关页面 用192.168.2.20/phpmyadmin就可以访问数据库相关内容 可是,当别的局域网的电脑想访问时 ...

  3. Linux关闭防火墙命令

    下面是red hat/CentOs7关闭防火墙的命令! 1:查看防火状态 systemctl status firewalld service  iptables status 2:暂时关闭防火墙 s ...

  4. Linux (centos7) 防火墙命令

    防火墙配置 CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙. firewall操作: # service firewalld status; #查看防火墙状态 ...

  5. Linux中防火墙命令

    #启动   systemctl start firewalld #开机启动   systemctl enable firewalld #停止   systemctl stop firewalld #禁 ...

  6. Linux添加防火墙、iptables的安装和配置(亲测)

    iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”.规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源 ...

  7. Linux添加防火墙、iptables的安装和配置

    由于centos7默认是使用firewall作为防火墙,下面介绍如何将系统的防火墙设置为iptables. #停止firewall systemctl stop firewall.service #禁 ...

  8. Linux关闭/开启防火墙命令

    Linux还是比较常用的,于是我研究了一下Linux关闭防火墙命令,在这里拿出来和大家分享一下,希望你能学会Linux关闭防火墙命令 . 1) 永久性生效,重启后不会复原 开启: chkconfig ...

  9. 转:linux关闭防火墙iptables

    ref:https://jingyan.baidu.com/article/066074d64f433ec3c21cb000.html Linux系统下面自带了防火墙iptables,iptables ...

随机推荐

  1. 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)

    拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)是 1979年苏联物理学家拉比诺维奇和法布里康特提出模拟非平衡介 质自激波动的非线性常微分方程组: dot{x ...

  2. [10] 圆管(Pipe)图形的生成算法

    顶点数据的生成 bool YfBuildPipeVertices ( Yreal radius, Yreal assistRadius, Yreal height, Yuint slices, YeO ...

  3. smtp发送带附件的邮件(直接将string类型结果保存为附件)

    该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好    MailMessage mmsg = new MailMessage();    mmsg.Subject = " ...

  4. C#_文件读写常用类介绍

    首先要熟悉.NET中处理文件和文件夹的操作.File类和Directory类是其中最主要的两个类.了解它们将对后面功能的实现提供很大的便利.      本节先对和文件系统相关的两个.NET类进行简要介 ...

  5. linux系统下调度数据库类型资源库中的kettle job

    已经存在kettle的一个资源库enfo,在目录/works/wxj下面有一个job (testmailsuccess.kjb)如何实现手工在kettle外部执行此job和让系统每天定时的调用此job ...

  6. what difference between libfm and libffm

    https://www.kaggle.com/users/25112/steffen-rendle/forum Congratulations to Yu-Chin, Wei-Sheng, Yong ...

  7. [Webpack] Externalize Dependencies to be Loaded via CDN with webpack

    We can separate our custom application code from the common libraries we leverage, such as React and ...

  8. URL参数转换对象

    var parseQueryString = function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/, reg_para = /([^&=]+ ...

  9. php平滑升级

    php平滑升级 1.既然是平滑升级,是不需要宕机,也不需要停止服务,是不存在关闭网站的说法 2.而升级最后的重启,重启的是PHP加载的配置文件,不影响你当前运行的网站 3.php-fpm是属于Fast ...

  10. ASP.NET Page执行顺序如:OnPreInit()、OnInit()

    http://www.cnblogs.com/yeminglong/archive/2012/10/16/2725664.html 当页面进行回发时,如点击按钮,以上事件都会重新执行一次,这时的执行顺 ...