• Iptables匹配条件 - 示例1


    Iptables基本匹配


    我们前面在练习规则操作时,使用的"匹配条件"比较少,下面我们来了解下iptables 匹配条件更多的用法,iptables匹配参数如下:

    可以指定来源的协议,或者来源的IP满足多少, 源地址/目标地址是谁,源端口/目标端口哪个接口接受的。

    -m:是用来做扩展匹配的。

    -j:就是具体的动作。drop就是什么消息都不返回,reject就会返回因为防火墙阻止了,也就是一个会返回消息,一个不会返回消息。

    一般使用drop,因为使用reject它知道是防火墙拦截了,所以可能会想其他办法绕过防火墙。

    仅允许10.0.0.10访问10.0.0.200服务器的80端口、其他地址全部拒绝。

    filter 表∶INPUT: 做的是过滤操作

    -s:指定来源地址                                -d:指定目标地址                            --deport:指定目标端口

    iptables -t filter -I INPUT -p tcp -s 10.0.0.10 -d 10.0.0.200 --dport 80 -j DROP

    测试一下,使用telnet命令 

    可以针对某个来源的地址做规则的限制。

    如果不符合这条drop的规则,那么就继续往下去匹配,下面没有规则就回到链的默认规则,默认规则是ACCEPT,只要没有符合这条规则,那么就都允许。

    仅允许10.0.0.1访问10.0.0.200服务器的'22'端口、其他地址全部拒绝。

    iptables -t filter -I INPUT -s 10.0.0.1 -d 10.0.0.200 -p tcp --dport 22 -j ACCEPT

    -A是在后面追加

    iptables -t filter -A INPUT -d 10.0.0.200 -p tcp --dport 22 -j DROP

    规则从上到下匹配,如果IP来源10.0.0.1符合规则,那么下面规则就不执行了,如果来源于其他规则不满足,那么就走下面,任何地址到本机的22都拒绝。(并没有调整默认策略

    1. [root@localhost ~]# iptables -L -n
    2. Chain INPUT (policy ACCEPT)
    3. target prot opt source destination
    4. ACCEPT tcp -- 10.0.0.1 10.0.0.200 tcp dpt:22
    5. DROP tcp -- 0.0.0.0/0 10.0.0.200 tcp dpt:22

    所有来访本机的协议,属于TCP协议的我们统统都放行

    1. iptables -t filter -I INPUT -p tcp -j ACCEPT
    2. iptables -t filter -A INPUT -j DROP
    1. [root@localhost ~]# iptables -L -n
    2. Chain INPUT (policy ACCEPT)
    3. target prot opt source destination
    4. ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0
    5. DROP all -- 0.0.0.0/0 0.0.0.0/0

    比如域名查询这些都是不行的,因为是UDP协议,域名查询需要UDP。 

    eth0的ping不通,eth1的ping正常。 

    从本机出去,数据包从本机出去,越早做越好,那么就是output链,在filter表。

  • 相关阅读:
    QFile读取无符号类型数据unsigned char
    flutter背景图片设置
    纯手码优质JAVA面试八股文
    计算机毕业设计Java花卉网站(源码+系统+mysql数据库+lw文档)
    PCL 滤波采样(二)——MLS平滑
    apisix~jwt-auth插件
    银河麒麟V10服务器系统安装教程及注意事项
    算法ppt练习题(给黄成个大逼兜)
    spark学习总结
    【MATLAB教程案例15】基于WOA鲸鱼优化算法的函数极值计算matlab仿真及其他应用
  • 原文地址:https://blog.csdn.net/qq_34556414/article/details/126520271