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 / 问题 / 969623
Accepted
CodeBreaker
CodeBreaker
Asked: 2019-06-01 01:25:13 +0800 CST2019-06-01 01:25:13 +0800 CST 2019-06-01 01:25:13 +0800 CST

如何禁用 LAN 但启用 WAN

  • 772

为什么我需要那个

我在运行新版本詹金斯的大型公司网络上有一台服务器。我已将所有作业 (>600) 迁移到新服务器。这些作业通过我们的网络连接到不同的服务器。启动 jenkins 后,一些作业将运行覆盖工件,将 docker 图像推送到内部注册表等等。为了防止这种情况发生而无需进入所有 600 个作业并随后禁用,我希望禁用来自服务器的本地网络访问。网络管理员表示,他们不想破坏防火墙规则,因为他们担心会禁用对某些重要服务器的访问。所以我要使用 iptables 在服务器端实现。

我需要什么

我想要做的是禁用除一个 ip 之外的 LAN 访问,并启用 Internet 访问。更详细地说,它是这样的。

允许ssh 在端口 22 上访问服务器,jenkins 在端口 8080 上访问(我位于与服务器不同的子网中)

允许访问 Internet 以进行插件安装和外部构建依赖项。

删除从服务器到本地网络 10.0.0.0/8 的任何内容。服务器位于 10.xxx/24 上,它可以通过 10.xx1 上的路由器访问不同的子网

我试过什么

放弃前的最后尝试。什么都没做。

#my ip 
iptables -j ACCEPT -s 10.x.x.x -i ens160 -A IN_public
iptables -j ACCEPT -d 10.x.x.x -o ens160 -A OUTPUT_direct

#subnet
iptables -j DROP -d 10.0.0.0/8 -o ens160 -A OUTPUT_direct
iptables
  • 1 1 个回答
  • 88 Views

1 个回答

  • Voted
  1. Best Answer
    Anton Danilov
    2019-06-01T02:19:42+08:002019-06-01T02:19:42+08:00

    在我提供规则集之前的一些重要说明:

    • 避免通过脚本修改防火墙。最佳流量:

      1. 使用命令保存当前规则集iptables-save > fwrules.v4
      2. 编辑规则
      3. 使用命令测试规则iptables-restore -t fwrules.v4
      4. 安全应用规则与命令iptables-apply -t <timeout> fwrules.v4。<timeout>以秒为单位的确认超时在哪里。如果您不确认新规则集,它将回滚到之前的规则集。
    • 我猜服务器有单个网络接口。

    • 规则集本身:
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    
    # allow reply packets
    -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    
    # allow incoming ICMP like ping and other
    -A INPUT -p icmp -j ACCEPT
    
    # allow to ssh and to jenkins from anywhere
    -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dports 22,8080 -j ACCEPT
    
    # allow localhost connections
    -A INPUT -i lo -j ACCEPT
    
    # allow output packets to trust host
    -A OUTPUT --dst 10.0.0.12 -j ACCEPT
    
    # block output packets to other lan hosts
    -A OUTPUT --dst 10.0.0.0/8 -j REJECT
    
    COMMIT
    
    • DNS服务器地址是什么?如果它们在本地子网中,您也应该允许它。
    • 规则的顺序非常重要。
    • 3

相关问题

  • OpenVPN 的 Linux IP 转发 - 正确的防火墙设置?

  • iptables 单个规则中的多个源 IP

  • 存储 iptables 规则的规范方法是什么

  • 使用 iptables 和 dhcpd 进行端口转发

  • 根据 Apache 日志数据自动修改 iptables 以阻止行为不良的客户端

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