zoukankan      html  css  js  c++  java
  • 防火墙规则之iptables

    防火墙规则之iptables

    一 如何禁止外面应用对某个端口访问

        iptables -I INPUT -p TCP ! --source 127.0.0.1 --dport 8080 -j DROP
        iptables -I INPUT -p TCP ! --source 127.0.0.1 --dport 9200 -j DROP

    这条命令的意思是拒绝外面的所有的IP对本机的8080和9200端口的访问,但是允许本地的127.0.0.1以及localhost能够访问本地的9200以及8080端口

    二 iptables的INPUT链的一些拓展

      iptables -t filter -A INPUT -s 10.88.32.20 -d 10.88.32.19 -p tcp -m multiport --dport 80,22 -m state --state NEW -j DROP

      解释:该条命令使用的是filter表,INPUT链,拒绝10.88.32.20网段的IP访问主机80,22端口

        -t 使用的是filter表也可以省略

        -A 插入的形式

                -s 源端的ip地址

        -p tcp协议

        -m 制定mac地址,多端口或者对tcp各种状态的限制等

        -j 动作   丢弃或者接受

      注意:这个生效的前提是iptables里面的规则不能与其有冲突

    三 还可以针对某个网段的IP进行限制访问

      例如: iptables -t filter -A INPUT -p tcp -s 10.88.0.0/16 -d 10.88.32.19 -m multiport --dport 80,22 -m state --state NEW -j DROP

      用法解释:10.88.32.19这个IP对于源IP是10.88.0.0/16网段的

    四  针对服务的某个端口仅仅只对指定的IP开放

      例如: iptables -t filter -A INPUT -p tcp ! -s 10.88.32.20 -d 10.88.32.19 -m multiport --dport 80,22 -m state --state NEW -j DROP

      用法解释:10.88.32.19这个地址的80以及22的端口只能允许10.88.32.19这个ip访问

    五 针对某个机器的某些端口只对某个网段访问支持

      例如:iptables -t filter -A INPUT -p tcp ! -s 10.88.0.0/16 -d 10.88.3.20 -m multiport --dport 80,22 state --state NEW -j DROP

    六  如何删除一条iptables规则

      iptables -D chainname[INPUT/OUPPUT/FORWARD]

      例如: iptables -D INPUT 5

      意思是删除本机的INPUT表的第五条规则

    七 使用iptables对服务器禁止ping命令

      iptables -t filter -A INPUT -p icmp ! -s 10.88.0.0/16 -d 10.88.32.19 -m state --state NEW -j DROP 

      用法解释:这条命令是可以让目的IP为10.88.32.19的服务器仅仅接受来自10.88.0.0/16网段的ip的ping测试

    八 iptables的OUTPUT链的拓展

      8.1  不允许本机服务器对外面所有的机器进行ping命令

        iptables -t filter -A OUTPUT -p icmp -j DROP

      8.2 仅仅允许对指定的10.88.0.0/16网段进行ping命令访问

        iptables -t filter -A OUTPUT ! -d 10.88.0.0/16 -m state --state NEW -j DROP

      8.3 本机仅仅只能对10.88.0.0/16网段的指定22,8888端口访问

        iptables -t filter -A OUTPUT -p tcp ! -d 10.88.0.0/16 -m multiport --dport 22,8888 -m state --state NEW -j DROP

      8.4 禁止mac为00:0c:29:27:55:3F的访问本机的22端口

        iptables - t filter -A INPUT -p tcp -m tcp -s 10.88.0.0/16 --dport 22 -m mac --mac-source 00:0c:29:27:55:3F -j DROP

      8.5 防止DDOS攻击

        iptables -t filter -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-brust 100 -j ACCEPT

        当链接数超过100的时候允许最多每分钟25个进行链接 

    九 iptables的NAT链的拓展

      9.1  在同一个网段的地址转换,我希望的是将来自10.88.32.20的8888端口转发到10.88.32.19的80端口上面

        iptables -t nat -A PREROUTING -p tcp -d 10.88.32.20 --dport 8888 -j DNAT --to-destination 10.88.32.19:80

        iptables -t filter -A INPUT -p tcp -m tcp --dport 8888 -j ACCEPT

    注意: 更详细的规则描述可以参考

      https://www.cnblogs.com/kevingrace/p/6265113.html

  • 相关阅读:
    Luogu P4053 [JSOI2007]建筑抢修
    CF894E Ralph and Mushrooms
    Boruvka
    Codeforces Beta Round #25 (Div. 2 Only) C. Roads in Berland
    HDU 3714/UVA1476 Error Curves
    HDU 5410 CRB and His Birthday
    HDU 1796 How many integers can you find
    UVA 11624 Fire!
    POJ 3279 Dungeon Master
    POJ 1321 棋盘问题
  • 原文地址:https://www.cnblogs.com/wxm-pythoncoder/p/14577290.html
Copyright © 2011-2022 走看看