首页 > 系统相关 >iptables常用命令

iptables常用命令

时间:2023-10-19 17:57:05浏览次数:37  
标签:iptables 规则 指定 常用命令 IP地址 OUTPUT 数据包

iptables是用于配置Linux系统中的防火墙规则的命令行工具。其命令格式和常用参数的意思如下:

iptables [选项] <链名> <规则规范>

常用选项:

  • -A:添加规则到指定链的末尾。
  • -D:从指定链中删除规则。
  • -I:插入规则到指定链的开头。
  • -L:列出指定链的规则。
  • -F:清除指定链中的所有规则。
  • -P:设置指定链的默认策略。
  • -s:指定源IP地址/网络。
  • -d:指定目标IP地址/网络。
  • -p:指定协议。
  • -j:指定要执行的动作(ACCEPT、DROP、REJECT等)。
    iptables支持以下几种表:
  1. filter表:默认表,用于过滤数据包。在INPUT、OUTPUT和FORWARD链中使用,可以根据源IP地址、目标IP地址、端口号等条件过滤或处理数据包。

  2. nat表:用于网络地址转换(NAT),主要用于修改数据包的源IP地址和目标IP地址。在PREROUTING、POSTROUTING和OUTPUT链中使用。

  3. mangle表:用于修改数据包的特定字段,如TTL(Time to Live)值、标记(mark)等。可以在PREROUTING、INPUT、FORWARD、OUTPUT和POSTROUTING链中使用。

  4. raw表:用于处理原始数据包,通常不进行连接跟踪或状态检查。可以在PREROUTING、OUTPUT和NOTRACK链中使用。

  5. security表:用于进行强制访问控制(MAC)过滤。只在有SELinux的系统中使用。

  6. raw和mangle表的子表:raw和mangle表都支持使用子表进行更细粒度的操作和规则设置。

每个表都包含多个预定义的链,如filter表包含INPUT、OUTPUT和FORWARD链。用户也可以创建自定义的链,并将其插入到某个表中,以实现更灵活的规则管理。

根据具体的需求和网络配置,选择适当的表来进行配置和管理规则,以实现对数据包的过滤、修改、转发等操作。
常用链名:

  • INPUT:用于处理进入本机的数据包。
  • OUTPUT:用于处理从本机发出的数据包。
  • FORWARD:用于处理经过本机转发的数据包。
  • PREROUTING:用于在数据包路由之前进行处理。
  • POSTROUTING:用于在数据包路由之后进行处理。

规则规范:

规则规范用于指定要匹配的条件和要执行的动作,例如:

  • -i:指定输入接口。
  • -o:指定输出接口。
  • --dport:指定目标端口。
  • --sport:指定源端口。
  • -m state --state:指定匹配数据包的状态。
  • -j:指定要执行的动作,如ACCEPT、DROP、REJECT等。

数据处理时,表的顺序:
R->M->N->F

以上仅为iptables命令的基本格式和常用参数的简要说明,实际使用中可以根据需要灵活组合和配置规则。

标签:iptables,规则,指定,常用命令,IP地址,OUTPUT,数据包
From: https://www.cnblogs.com/chenkanglu/p/17775268.html

相关文章

  • 记录最近学习到的一些windows常用命令
    1、ping命令可以用来测试网络是否联通,使用步骤如下:1.1、在电脑上面同时按住win+R,输入cmd,回车 1.2、在窗口里面输入一行格式为“ping+空格+IP地址(或者网站地址)”的命令,如“pingwww.baidu.com” 如上图可见,本台计算机可以与百度通信2、cd命令cd命令可以更改命令提......
  • kubeadm init 报错ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables
    现象:[ERRORFileContent--proc-sys-net-bridge-bridge-nf-call-iptables]:/proc/sys/net/bridge/bridge-nf-call-iptablescontentsarenotsetto1原因:  /proc/sys/net/bridge/bridge-nf-call-iptables 文件的内容并没有设置为1解决方案echo"1">/proc/sys/net/br......
  • 【Linux常用命令5】文本文件编辑命令
    stat命令:查看文件详细信息的命令stat[选项]文件参数含义-L支持符号链接-f显示文件系统的信息-t以简洁的方式输出--help显示命令帮助信息--version显示命令版本信息示例:[root@izb1j05w8ldmtn1ylavvdfzmpaas]#statzhuque2tj.jsonFile:......
  • 18_常用命令03
    1.字符串包含子串#使用方法1[root@vm1zk]#[["aaabb"=~"bb"]]&&echo"包含"||echo"不包含"包含[root@vm1zk]#[root@vm1zk]#[["aaab"=~"bb"]]&&echo"包含"||echo"不包含&q......
  • docker常用命令
    启动:systemctlstartdocker守护进程重启:systemctldaemon-reload重启docker服务:systemctlrestartdocker/servicedockerrestart关闭:dockerservicedockerstop/dockersystemctlstopdocker一键启动所有docker容器:dockerstart$(dockerps-a|awk'{print$1}'......
  • docker 常用命令
    whereisredis查询redis.conf文件位置dockerimages用于查看本地已下载的镜像dockersearchnginx查询镜像dockerpullnginx下载dockerrun-it--name别名-dnginx启动一个容器dockerrun-itnaginx/bin/bash dockerps查看运行中的......
  • iptables 正常用法
    #!/bin/baship1=${group_host1}ip2=${group_host2}ip3=${group_host3}ip4=${group_host4}ip5=${group_host5}iptables-F#清空所有的防火墙规则iptables-X#删除用户自定义的空链iptables-Z#清空计数iptables-AINPUT-ptcp--dport22-jACCEPTiptables-AIN......
  • 随笔-调试-常用命令零散记录 1
    【01】valgrindviewvalgrind--log-file='valgrind_report.log'--time-stamp=yes--tool=memcheck--leak-check=full--show-leak-kinds=all./exec【02】gdbviewgdb-iex'setpaginationoff'-iex'setconfirmoff'-iex'set......
  • 随笔-调试-常用命令零散记录 2 网络工具
    【1】测量两点之间的带宽iperf测试是否千兆:服务端:iperf-s-u-p22345-i1客户端:iperf-c10.10.2.58-p22345-i1-t60-b1000M-u【2】net_stat.sh#!/bin/bashdeviation=0if_name=$1rx_bit=tx_bit=[[-z"$if_name"]]&&{echo"usage:$0[if_......
  • MySQL常用命令
    登录MySQL控制台:mysql-uusername-p:使用指定用户名登录MySQL,系统将提示输入密码mysql-hhost-uusername-p:使用指定主机、用户名登录MySQL,系统将提示输入密码quit或\q:退出控制台常见的SQL命令:CREATEDATABASEdbname;:创建名为dbname的数据库DROPDATABASEdbname;......