zoukankan      html  css  js  c++  java
  • iptables 常用命令

    iptables常用指令

    作者:elfin   参考资料来源:iptables指令老男孩



    关于iptables的介绍可以参考资料来源的视频介绍。


    Top --- Bottom

    1、查看版本与帮助信息

    $ iptables -V # 查看版本信息 
    iptables v1.6.1
    
    $ iptables -h # 查看帮助信息
    iptables v1.6.1
    
    Usage: iptables -[ACD] chain rule-specification [options]
           iptables -I chain [rulenum] rule-specification [options]
           iptables -R chain rulenum rule-specification [options]
           iptables -D chain rulenum [options]
           iptables -[LS] [chain [rulenum]] [options]
           iptables -[FZ] [chain] [options]
           iptables -[NX] chain
           iptables -E old-chain-name new-chain-name
           iptables -P chain target [options]
           iptables -h (print this help information)
    
    Commands:
    Either long or short options are allowed.
      --append  -A chain		Append to chain
      --check   -C chain		Check for the existence of a rule
      --delete  -D chain		Delete matching rule from chain
      --delete  -D chain rulenum
    				Delete rule rulenum (1 = first) from chain
      --insert  -I chain [rulenum]
    				Insert in chain as rulenum (default 1=first)
      --replace -R chain rulenum
    				Replace rule rulenum (1 = first) in chain
      --list    -L [chain [rulenum]]
    				List the rules in a chain or all chains
      --list-rules -S [chain [rulenum]]
    				Print the rules in a chain or all chains
      --flush   -F [chain]		删除所有链的规则(默认的会保留)
      --zero    -Z [chain [rulenum]]
    				链的计数器清零
      --new     -N chain		自定义链
      --delete-chain
                -X [chain]		删除自定义的链
      --policy  -P chain target
    				Change policy on chain to target
      --rename-chain
                -E old-chain new-chain
    				Change chain name, (moving any references)
    Options:
        --ipv4	-4		Nothing (line is ignored by ip6tables-restore)
        --ipv6	-6		Error (line is ignored by iptables-restore)
    [!] --protocol	-p proto	protocol: by number or name, eg. `tcp'
    [!] --source	-s address[/mask][...]
    				source specification
    [!] --destination -d address[/mask][...]
    				destination specification
    [!] --in-interface -i input name[+]
    				network interface name ([+] for wildcard)
     --jump	-j target
    				target for rule (may load target extension)
    				基本的处理行为:ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)
      --goto      -g chain
                                  jump to chain with no return
      --match	-m match
    				extended match (may load extension)
      --numeric	-n		numeric output of addresses and ports
    [!] --out-interface -o output name[+]
    				network interface name ([+] for wildcard)
      --table	-t table	table to manipulate (default: `filter')
      --verbose	-v		verbose mode
      --wait	-w [seconds]	maximum wait to acquire xtables lock before give up
      --wait-interval -W [usecs]	wait time to try to acquire xtables lock
    				default is 1 second
      --line-numbers		print line numbers when listing
      --exact	-x		expand numbers (display exact values)
    [!] --fragment	-f		match second or further fragments only
      --modprobe=<command>		try to insert modules using this command
      --set-counters PKTS BYTES	set the counter during insert/append
    [!] --version	-V		print package version.
    

    Top --- Bottom

    2、iptables查看表

    $ sudo iptables --list
    

    这个命令和我们常见的sudo iptables -L是等价的,就是以列表显示表格,注意这里默认 显示的是filter表格。在帮助信息的Commands字段下,有很多这种全拼与简写的对应。

    实际上在使用的时候我们常常使用-L -n这样显示的会更易读:

    $ sudo iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain FORWARD (policy DROP)
    target     prot opt source               destination         
    DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0           
    DOCKER-ISOLATION-STAGE-1  all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain DOCKER (4 references)
    target     prot opt source               destination         
    ACCEPT     tcp  --  0.0.0.0/0            172.18.0.2           tcp dpt:50059
    ……
    ACCEPT     tcp  --  0.0.0.0/0            172.18.0.5           tcp dpt:22
    
    Chain DOCKER-ISOLATION-STAGE-1 (1 references)
    target     prot opt source               destination         
    DOCKER-ISOLATION-STAGE-2  all  --  0.0.0.0/0            0.0.0.0/0           
    DOCKER-ISOLATION-STAGE-2  all  --  0.0.0.0/0            0.0.0.0/0           
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
    
    Chain DOCKER-ISOLATION-STAGE-2 (2 references)
    target     prot opt source               destination         
    DROP       all  --  0.0.0.0/0            0.0.0.0/0           
    DROP       all  --  0.0.0.0/0            0.0.0.0/0           
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
    
    Chain DOCKER-USER (1 references)
    target     prot opt source               destination         
    RETURN     all  --  0.0.0.0/0            0.0.0.0/0
    

    如上,INPUT、FORWARD、OUTPUT三个链是没有配置的,这里关于DOCKER的链是docker启动容器默认配置的。(注,加-n会显示IP地址)


    Top --- Bottom

    3、添加规则

    $ sudo iptables -t filter -A INPUT -p tcp --dport 10010 -j DROP
    $ sudo iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:10010
    

    给filter的INPUT表加一条禁止10010的规则,从返回信息的片段可以看出10010端口被禁用了!

    使用-I进行添加会添加在链的开头(第一条),封ip要使用-I,因为规则是从上到下 验证!你也可以在INPUT后接一个索引数字,指定插入到第几条规则。


    Top --- Bottom

    4、清除某条规则

    $ sudo iptables -t filter -D INPUT -p tcp --dport 10010 -j DROP
    $ sudo iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    

    这里我们直接使用-D进行删除。


    Top --- Bottom

    完!

    清澈的爱,只为中国
  • 相关阅读:
    云如何解决安全问题 狼人:
    存储安全 系统的最后一道防线 狼人:
    云安全仍是企业决策者最大担心 狼人:
    骇客宣称已入侵多家认证机构 波及微软、谷歌 狼人:
    盘点云计算服务中的隐患 狼人:
    云服务安全吗?美国政府用实际行动告诉你 狼人:
    微软高层称移动设备越多 对信息安全需更多考量 狼人:
    云计算需要让安全优先 狼人:
    金山网络两月被黑4次 入侵黑客留名挑衅 狼人:
    惠普推出全新企业级安全软件 狼人:
  • 原文地址:https://www.cnblogs.com/dan-baishucaizi/p/15109763.html
Copyright © 2011-2022 走看看