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. libcurl使用easy模式阻塞卡死等问题的完美解决---超时设置

    libcurl使用时疑难问题: 在使用libcurl时, jwisp发现, curl_easy_perform是阻塞的方式进行下载的, curl_easy_perform执行后,程序会在这里阻塞等待下 ...

  2. 【5】基于Log4Net的日志系统

    阅读目录 日志系统应具备的特性  Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置   不管是Web应用程序还是W ...

  3. VS2008+Windows DDK 7的环境配置(二)

    在第一篇的基础上,进行如下的步骤,就可以编译出X64的驱动程序. (建议再另外建一个项目,这样避免混淆,因为x86和x64编译的有些编译选项是不同的.) 1. 安装VS2008 x64 build 组 ...

  4. Android实现固定头部信息,挤压动画(相似通讯录)

    半年前,那时候我还是个大四的学生,每天都在找工作度过,想去北京体验一下蚁族生活,奋然离开了济南,哎...在济南我们学校还是数得着的好学校,去了北京就什么都不是了,一切的辛酸仅仅有自己知道,那时候的我仅 ...

  5. 在 Win 7 下使用 VirtualBOX 虚拟机安装 OS X 10.9 Mavericks 及 Xcode 5

    参考网址:http://bbs.feng.com/read-htm-tid-7625465.html

  6. [android错误] Failed to install *.apk on device 'emulator-5554': timeout

    [2014-06-26 15:35:42 - app] ------------------------------ [2014-06-26 15:35:42 - app] Android Launc ...

  7. AutoPlay Menu Builder入门教程

    1 拖动窗口可以设置主界面的窗口大小,在下面有版面预览 2 常用东西介绍.右侧的素材库除了按钮还有图像,背景,音乐等.使用按钮的时候选中需要的按钮样式,双击即可上屏.图形按钮即使可以使用图像作为背景的 ...

  8. 最新phpstudy2016安装教程及流程

    最新phpstudy2016安装教程及流程,帮助站长快速搭建网站服务器平台! phpstudy软件简介 该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAd ...

  9. poj 2135 (基础费用流)

    题意:从1到n再到1,每条边只能走一次,求最短距离. 建图:每条边只能走一次就是流量是1,添加源点与1相连,容量为2,费用为0,n与汇点相连容量为2,费用为0: 求增广路用SPFA最短路求,, #in ...

  10. MySQL 导出函数与存储过程

    C:\Users\yan>mysqldump -u用户 -p -n -t -d -R 数据库 > .sql Enter password: ******** C:\Users\yan> ...