AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 622309
Accepted
Kladskull
Kladskull
Asked: 2014-08-19 15:25:05 +0800 CST2014-08-19 15:25:05 +0800 CST 2014-08-19 15:25:05 +0800 CST

如何在不中断现有连接的情况下重新加载 IPTables?

  • 772

我将自动在下面的脚本中添加和删除条目(添加具有不同 IP 地址的端口 80/443)。如果我运行这个脚本,我“假设”连接不会中断,除非我删除了一个 IP。我的这个想法正确吗?

这是我的脚本:

iptables --flush
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

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

iptables -A INPUT -p tcp --dport  80 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -s 1.2.3.4 -j ACCEP

iptables -A INPUT -p tcp --dport 80 -j DROPT
iptables -A INPUT -p tcp --dport 443 -j DROP

iptables -A INPUT -j DROP
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -j LOG
iptables -A INPUT -j REJECT
ubuntu
  • 1 1 个回答
  • 11384 Views

1 个回答

  • Voted
  1. Best Answer
    efesaid
    2014-08-19T15:38:43+08:002014-08-19T15:38:43+08:00

    有几种方法可以向当前链添加新规则。例如;

    • 您应该编写一个 shell 脚本来读取文件中的 IP 地址并将它们插入到链中。

      #!/bin/bash
      for ip in `cat ipadresses.txt`
      do
          iptables -I INPUT -p tcp -s $ip -m multiport --dports80,443 -j ACCEPT
      done
      
    • 您应该将当前规则保存到文件并直接在文件中添加规则并再次从该文件恢复规则。

      /sbin/iptables-save > /path/to/save/iptables.rules
      or
      /sbin/iptables save > /path/to/save/iptables.rules
      

      使用任何文本编辑器编辑 iptables.rules 后,您应该复制任何行并更改源 IP 地址。

       # Generated by iptables-save v1.4.14 on Tue Aug 19 00:22:21 2014
      *mangle
      :PREROUTING ACCEPT [9809:4375246]
      :INPUT ACCEPT [9809:4375246]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [4718:585599]
      :POSTROUTING ACCEPT [4718:585599]
      COMMIT
      # Completed on Tue Aug 19 00:22:21 2014
      # Generated by iptables-save v1.4.14 on Tue Aug 19 00:22:21 2014
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [0:0]
      -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
      -A INPUT -i lo -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      -A INPUT -s 1.2.3.4/32 -p tcp -m tcp --dport 80 -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 443 -j DROP
      -A INPUT -j DROP
      -A INPUT -j LOG
      -A INPUT -j REJECT --reject-with icmp-port-unreachable
      -A OUTPUT -j ACCEPT
      COMMIT
      # Completed on Tue Aug 19 00:22:21 2014
      # Generated by iptables-save v1.4.14 on Tue Aug 19 00:22:21 2014
      *nat
      :PREROUTING ACCEPT [6:352]
      :POSTROUTING ACCEPT [70:4526]
      :OUTPUT ACCEPT [70:4526]
      COMMIT
      # Completed on Tue Aug 19 00:22:21 2014
      

    编辑文件后,您应该通过以下方式恢复规则

        iptables-restore < /path/to/save/iptables.rules
    

    综上所述;

    • 您无需刷新所有规则即可添加新 ip,只需插入新规则即可。
    • 您有一个通用的丢弃规则,因此您不需要更多规则来丢弃具有 80 和 443 个目标端口的口袋。
    • 您不需要每次都执行 iptables -I 命令。
    • 3

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve