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 / 问题 / 877449
Accepted
Dmitriusan
Dmitriusan
Asked: 2017-10-09 05:11:48 +0800 CST2017-10-09 05:11:48 +0800 CST 2017-10-09 05:11:48 +0800 CST

如何禁止通过接口转发数据包到私网地址

  • 772

在我的服务器上,我有一条到 interface 的默认路由eth0。它具有公共互联网地址并面向 ISP 网络。我启用了数据包转发,并且很少有具有私有10.x.x.x地址的本地接口/网桥。此外,所有传出到 ISP 网络的包都被伪装了。问题:如果我理解正确,任何到不存在192.168.x.x地址的数据包都将通过公共服务器接口(上行链路)转发到我的 ISP。这是不希望的。

如何配置 linux 以防止通过公共网络接口转发任何具有私有网络地址目标的数据包?我想仅仅添加一个 iptables 规则是不够的,因为有多个标准的专用网络空间(10.xxx、192.16.xx、172.16.xx 可能还有其他。除了 ipv6 地址)。是否有任何 iptables 插件/系统策略来实现这一点?我希望一些系统策略将接口标记为面向互联网的上行链路。

推理:我的 ISP 不喜欢任何带有专用网络范围目标的软件包。我正在使用通过 VPN 访问我的工作的 DNS 服务器。因此,当 VPN 出现故障时,我的 ISP 会收到对专用网络地址的 DNS 请求并锁定整个互联网连接。他们说这样做是为了安全(仅适用于某些病毒将我的系统 DNS 覆盖为自定义 DNS 的情况)。

firewall
  • 2 2 个回答
  • 910 Views

2 个回答

  • Voted
  1. MadHatter
    2017-10-09T11:53:01+08:002017-10-09T11:53:01+08:00

    您有一个公开编号的接口eth0,这是您的默认路由,并且您不希望从任何私有编号的接口转发任何流量到公共接口。尝试

    iptables -A FORWARD -o eth0 -j REJECT
    

    将规则放在FORWARD链条中的正确位置作为练习。您也应该能够从那里推广到 ipv6。

    编辑:您可以关闭所有 v4 转发echo 0 > /proc/sys/net/ipv4/ip_forward和所有 v6 转发echo 0 > /proc/sys/net/ipv6/conf/all/forwarding。但是您并没有说要关闭所有转发,只是“通过公共网络接口从专用网络地址转发或向专用网络地址转发”。我不知道有任何/proc结构可以仅禁用 RFC1918 流量的转发,如果有的话我会感到惊讶。

    • 3
  2. Best Answer
    Zip
    2017-10-09T11:34:35+08:002017-10-09T11:34:35+08:00

    任何与系统上的路由规则不匹配的数据包都将被定向到默认路由(如果有)。默认情况下,如果您在给定网络上分配了 IP,则会自动添加路由规则,将该流量转发到分配的接口。如果您的服务器不在您想要阻止的这些网络上,那么最好检查产生该流量的任何内容以完全摆脱它,否则您仍然会在本地网络设备上打扰您。

    IANA 专用网络 IP 范围定义得非常好,只有 4 个,甚至可以在这篇维基百科文章中看到。我建议您在允许您实际使用的范围之后,将防火墙出站阻止规则添加到这些网络范围,作为目的地。

    iptables 命令示例:

    iptables -A FORWARD -d 10.0.0.0/8 -j REJECT
    iptables -A FORWARD -d 172.16.0.0/12 -j REJECT
    iptables -A FORWARD -d 192.168.0.0/16 -j REJECT
    ip6tables -A FORWARD -d fd00::/8 -j REJECT
    

    注意:发往这些范围的流量在 ISP 上会被丢弃,因为它们将无处可转发。但是,如果您泄漏这些软件包,有些可能会对您的流量施加限制。此外,如果您担心 ISP 级别的流量检查或泄漏,这远非您需要做的唯一事情来保护自己。

    • 1

相关问题

  • 用 D-LINK DFL-CPG310 防火墙替换 Cisco Pix 防火墙

  • MSMQ 防火墙端口

  • IP-KVM(在我的例子中是 ADDER Ipeps):轻松防火墙穿越

  • 远程连接 sql server 不工作,但如果防火墙禁用它呢?

  • 服务器 2003 R2 上的 Cisco VPN 客户端

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