首页 > 系统相关 >iptables 命令使用帮助总结

iptables 命令使用帮助总结

时间:2024-09-09 10:52:28浏览次数:3  
标签:iptables 总结 rulenum chain -- ACCEPT 命令 INPUT

1.iptables 命令帮助参数

root@controller1:~# iptables --help
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]          Delete all rules in  chain or all chains
  --zero    -Z [chain [rulenum]]
                                Zero counters in chain or all chains
  --new     -N chain            Create a new user-defined chain
  --delete-chain
            -X [chain]          Delete a user-defined 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)
  --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.

2.iptables 常用参数

  1. -L, --list
  • 列出所有规则链。
  • 示例:iptables -L 列出所有链的默认规则。
  1. -A, --append
  • 向指定链追加一条规则。
  • 示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT 向 INPUT 链追加一条规则,允许所有到 TCP 端口 22 的连接。
  1. -D, --delete
  • 删除链中的一条规则。
  • 示例:iptables -D INPUT -p tcp --dport 22 -j ACCEPT 删除 INPUT 链中允许 TCP 端口 22 的规则。
  1. -I, --insert
  • 在链的指定位置插入一条规则。
  • 示例:iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT 在 INPUT 链的第一条规则之前插入一条允许 TCP 端口 80 的规则。
  1. -R, --replace
  • 替换链中的一条规则。
  • 示例:iptables -R INPUT 1 -p tcp --dport 8080 -j ACCEPT 替换 INPUT 链中第一条规则为允许 TCP 端口 8080 的规则。
  1. -F, --flush
  • 删除链中的所有规则。
  • 示例:iptables -F INPUT 删除 INPUT 链中的所有规则。
  1. -N, --new-chain
  • 创建一个新的用户自定义链。
  • 示例:iptables -N MYCHAIN 创建一个名为 MYCHAIN 的新链。
  1. -X, --delete-chain
  • 删除一个用户自定义链。
  • 示例:iptables -X MYCHAIN 删除名为 MYCHAIN 的链。
  1. -P, --policy
  • 设置链的默认策略。
  • 示例:iptables -P INPUT DROP 将 INPUT 链的默认策略设置为 DROP。
  1. -j, --jump
  • 指定匹配的数据包应该跳转到的目标。
  • 示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT 匹配的数据包将被接受(ACCEPT)。

  11. -v, --verbose

  • 显示更详细的信息。这通常包括每个规则的匹配次数、数据包数、字节数等统计信息。

3.常用命令

  1.删除现有规则

iptables -F
(OR)
iptables --flush

  2.屏蔽指定的IP地址

  以下规则将屏蔽BLOCK_THIS_IP所指定的IP地址访问本地主机:

BLOCK_THIS_IP="x.x.x.x"
iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP
(或者仅屏蔽来自该IP的TCP数据包)
iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP

  3.允许来自外部的ping测试

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

  4.允许从本机ping外部主机

iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

  5.允许环回(loopback)访问

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

  6.允许 SSH 访问

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

  7.允许 HTTP 访问

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

  8.拒绝所有其他入站连接

iptables -P INPUT DROP

  注意:这里使用了 -P INPUT DROP 来设置 INPUT 链的默认策略为 DROP,这意味着除非明确允许,否则所有入站连接都将被拒绝。

 



标签:iptables,总结,rulenum,chain,--,ACCEPT,命令,INPUT
From: https://blog.51cto.com/u_15535797/11959426

相关文章

  • iptables 工作过程整理
    1.概念和工作原理iptables是Linux系统中用来配置防火墙的命令。iptables是工作在TCP/IP的二、三、四层,当主机收到一个数据包后,数据包先在内核空间处理,若发现目标地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目标不是自身,则会将包丢弃或进行转发。1.1四表: filt......
  • adb命令控质android手机旋转屏幕
    实现adb命令控制Android手机旋转屏幕1.流程概述下面是实现adb命令控制Android手机旋转屏幕的整体流程:步骤操作步骤1连接手机到电脑步骤2启动adb命令行工具步骤3执行adb命令控制手机旋转屏幕2.操作步骤步骤1:连接手机到电脑首先,将手机通过USB线缆......
  • Docker 常用操作命令与 GPU 容器运行随记
    Docker常用操作命令与GPU容器运行随记这篇文章整理了在Docker环境下常用的操作命令,并附加了一些关于GPU容器运行的随记。内容涵盖了从镜像管理、容器操作到网络配置、系统资源监控的方方面面,还包括了如何查看Docker环境的信息以及日志管理等操作。此外,文章还介绍......
  • Modbus协议总结
    ModbusTCP通信概述ModbusTCP是一种基于TCP/IP协议的Modbus通信协议,用于在客户机和服务器之间进行数据通信。它常用于工业自动化控制、电力监控与管理、温湿度监测等领域。ModbusTCP协议使用标准的TCP/IP协议栈,通过以太网进行通信,并支持多个设备同时访问同一个ModbusTCP服务......
  • Jupyter Notebook 魔法命令概览
    魔法命令分为两类:行魔法(以单个%开头)和单元魔法(以%%开头)。以下是根据IPython官方文档整理的常用魔法命令概览。常用行魔法命令代码执行%time:测量单行语句的执行时间。%timeit:多次运行一行代码并计算平均执行时间。%run:执行外部Python脚本。%load:从外部文件......
  • python 总结
    数据变量指向a="hellopython"b=aa=123#a与b指向同一内存空间字符串name="alex\tnameisalex"name.capitalize()#首字母大写name.count("a")#统计字母个数name.center(50,"-")#总共打印50个字符,并把nam放在中间,不够的用-补上name.endswith("ex")#......
  • 【算法笔记】树形DP算法总结&详解
    0.定义树形DP,又称树状DP,即在树上进行的DP,是DP(动态规划)算法中较为复杂的一种。1.基础令\(f[u]=~\)与树上顶点\(u\)有关的某些数据,并按照拓扑序(从叶子节点向上到根节点的顺序)进行\(\text{DP}\),确保在更新一个顶点时其子节点的dp值已经被更新好,以更新当前节点的\(\text{DP}\)值......
  • Linux目录结构进阶和过滤命令(三)
    1.日志查询四剑客注意:查看日志的时候不要用cat或者vim命令,在工作中日志的内容很多,用cat会刷屏,用vim又特别的占用内存,所以我们引出了四条有关查看日志的相关命令1.1四剑客之headhead#显示文件的头几行,默认显示十行head-nnum#显示头num行实例一:显示/etc/passwd的......
  • Linux文件属性及相关命令
    1.Linux文件体系概述2.inode和block的概述2.1inodeinode索引节点,inode号码类似于身份证号码,通过inode号码可以找到文件的内容。inode是一个空间,inode号是空间的位置,inode空间中存放的是文件属性信息,文件大小,修改时间,权限,所有者inode空间中存放block的位置(指向......
  • Hadoop学习总结
    在深入学习Hadoop的过程中,我逐渐探索了其高级特性和性能优化的技巧,发现这些方法对提升数据处理的效率和集群的稳定性至关重要。Hadoop,作为一个强大的大数据处理框架,其核心组件包括HDFS(分布式文件系统)和YARN(YetAnotherResourceNegotiator)。在掌握了基本的使用方法后,我开始关注如......