Notes
  • 简介
  • Linux
    • Ubuntu
      • Ubuntu 20.04 ARM64 修改PAGE_SIZE 64k
    • Samba
      • CentOS7安装Samba
      • 简单案例
      • 审计
      • 相关命令
    • Systemd
    • FPM 打包 nginx rpm 包
    • rpm 打包-从二进制文件进行打包
    • Centos7 重置密码
    • CentOS7搭建kvm并创建虚拟机
    • CentOS7-KVM 嵌套虚拟化
    • CentOS7 KVM GPU 穿透
    • Bonding
    • CentOS7 发送邮件
    • CentOS7 安装 OpenVPN
    • Linux 多线路由策略
    • Webmin 安装
    • NoVNC 安装
    • SRS-RTMP 服务部署
    • CentOS7 安装 MongoDB
    • confluence 安装
    • jira 安装
    • crowd 安装
    • ScriptRunner For Jira
    • ScriptRunner For Confluence
    • Ubuntu VNC
    • Ubuntu18.04-VNC 安装
    • deb 打包
    • iptables
    • debian 保持软件包一致
    • Ubuntu18.04 编译安装 grpc
    • CentOS7 安装 odoo13
    • Pacemaker 入门
    • Firewalld Rich Language
    • PHP Xdebug
    • CentOS7.3 编译安装 Python3.6
    • 葫芦儿打包
    • CentOS7 安装 Tomcat8
    • CentOS7 安装 JDK
    • GuacamoleServer 编译安装
    • FreeBSD7.0安装AMP
    • CentOS7 换源
    • deb下载并离线安装
    • pip下载并离线安装
  • Network
    • 案例一
  • AI
    • 微调Qwen2.5
    • Qwen2.5 VL AWQ量化
    • qwen2.5 填充权重
  • JavaScript
  • Zabbix
    • CentOS7 安装 Zabbix4.0 LTS
    • Zabbix 加密连接
    • Zabbix 主动和被动模式
    • Zabbix 配置邮件报警
    • Zabbix 监控 MySQL
  • 数据库
    • MySQL
      • CentOS7 Install MySQL5.7
      • MySql 主从配置
      • CentOS7 安装 Percona XtraDB Cluster
      • MySql 压力测试-sysbench
      • MariaDB Galera Cluster
      • 备份脚本
    • MongoDB
      • 启用账号密码登录
      • 备份脚本
  • Nginx
    • CentOS7 安装 Nginx
    • Nginx 配置
    • nginx-http-flv-module
    • Nginx-WebDAV
  • Docker
    • CentOS7 安装 Docker
    • Dockerfile
    • DockerSwarm 集群
    • Docker 安装 guacamole
  • Python
    • 虚拟环境
  • Windows
    • Windows 问题集合
    • 迅雷自动安装 Chrome 插件
    • RDP 注册表
    • Rdp File Setting
    • 本地组策略对象(LGPO)工具
    • 禁用应用联网
    • SQL Server 问题处理
    • SQL Server Trigger
    • NSIS 脚本
    • 使用QEMU运行ARM64 CentOS7
    • DOS 脚本
    • Windows 11 设置旧版右键菜单
    • 远程桌面二次验证
  • Apple
    • AppStore 应用开发及上架
    • Apple 打包 Golang WebDav 制作 pkg 安装包
  • Android
    • Android Studio创建具有root权限的虚拟机
    • Android读写挂载system
    • Android安卓CA至系统
  • 证书
    • 证书名称(主题)
    • 证书扩展
    • SSL 自签
    • 免费 https 证书申请
  • 树莓派
    • 树莓派系统烧录及系统打包制作
    • 树莓派基础操作
    • 树莓派安装 NextCloud
    • 树莓派安装 LNMP
    • 树莓派自定义开机界面和登录提示
    • 树莓派安装 HomeAssistant
    • HomeAssistant 配置
    • 树莓派自动挂载 U 盘
    • 树莓派安装 vsftpd
    • vsftpd 配置文件详解
  • ceph
    • ceph-deploy 部署 ceph nautilus 版本
    • ceph dashboard
  • OpenStack
    • OpenStack VM 配置 Virtual IP
    • OpenStack Glance 对接 Ceph RBD 存储
    • OpenStack Cinder Volumes 对接 Ceph RBD 存储
    • OpenStack 集群搭建
    • OpenStack Rocky 单节点部署
    • OpenStack Rocky 集群部署
    • OpenStack CentOS6 镜像制作
    • OpenStack-Ubuntu 镜像制作
    • Openstack-Windows 镜像制作
    • OpenStack-RBD 导入镜像
    • OpenStack-Rocky 灾备
    • rbd-mirror
  • FFmpeg
    • CentOS7 静态编译FFmpeg
    • MacOS10.12静态编译FFmpeg
    • CentOS7 Arm64静态编译FFmpeg
    • 使用NVIDIA显卡
    • 脚本
  • Other
    • 华为一碰传标签制作
    • 常用软件
    • wireguard
由 GitBook 提供支持
在本页
  • iptables
  • 格式
  • -v verbose mode(详细模式)
  • 查看 filter 表 INPUT 链记录
  • --line 显示行号
  1. Linux

iptables

上一页deb 打包下一页debian 保持软件包一致

最后更新于3年前

iptables

参考链接:http://www.zsythink.net/archives/1199

格式

  • 命令格式

    # 追加/检查是否存在/删除 规则
    iptables [-t table] {-A|-C|-D} chain rule-specification
    ip6tables [-t table] {-A|-C|-D} chain rule-specification
    # 插入规则,可以指定规则位置
    iptables [-t table] -I chain [rulenum] rule-specification
    # 替换指定规则
    iptables [-t table] -R chain rulenum rule-specification
    # 根据位置删除规则
    iptables [-t table] -D chain rulenum
    # 打印规则保存为配置文件时的内容
    iptables [-t table] -S [chain [rulenum]]
    
    iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
    
    iptables [-t table] -N chain
    
    iptables [-t table] -X [chain]
    
    iptables [-t table] -P chain target
    
    iptables [-t table] -E old-chain-name new-chain-name
    
    rule-specification = [matches...] [target]
    
    match = -m matchname [per-match-options]
    
    target = -j targetname [per-target-options]
  • table

    filter
    nat
    mangle
    raw
  • chain

    PREROUTING
    INPUT
    OUTPUT
    FORWARD
    POSTROUTING
  • target

    # 允许数据包通过
    ACCEPT
    # 直接丢弃数据包,不给任何回应信息
    DROP
    # 拒绝数据包通过,必要时会给数据发送端一个响应的信息
    REJECT
    # 源地址转换,解决内网用户用同一个公网地址上网的问题
    SNAT
    # 是SNAT的一种特殊形式,适用于动态的、临时会变的ip上
    MASQUERADE
    # 目标地址转换
    DNAT
    # 在本机做端口映射
    REDIRECT
    # 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,仍然让下一条规则去匹配
    LOG
  • 数据经过防火墙的流程

    示例

  • 默认配置

    # 设置默认策略
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    # 清空规则
    iptables -F
    # 允许进入的数据包只能是刚刚我发出去的数据包的回应,ESTABLISHED:已建立的链接状态。RELATED:该数据包与本机发出的数据包有关
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    # -i参数是指定接口,这里的接口是lo ,lo就是Loopback(本地环回接口),意思就允许本地环回接口在INPUT表的所有数据通信
    iptables -A INPUT -i lo -j ACCEPT
    # 该规则的意思就是新连接ssh默认端口22的允许进入
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    # INPUT表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机
    iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
    # FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机
    iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  • 永久保存规则

    iptables-save > /etc/sysconfig/iptables
  • 查看表规则

    # 默认查看 filter表
    # -n 端口和地址以数字显示

-v verbose mode(详细模式)

iptables -nvL iptables -t filter -nvL

查看 filter 表 INPUT 链记录

iptables -nvL INPUT

--line 显示行号

iptables --line -nL

* 清空表规则

```bash
iptables -F
iptables -t filter -F
iptables -F INPUT
  • 放行 22 端口

    iptables -t filter -I INPUT -p tcp --dport 22 -j ACCEPT
  • 放行192.168.2.200

    iptables -t filter -I INPUT -s 192.168.2.200 -j ACCEPT
  • 禁止 icmp

    iptables -t filter -I INPUT -p icmp -j DROP
iptables详解(1):iptables概念