【问题标题】:Is it possible to use computer name in iptables是否可以在 iptables 中使用计算机名
【发布时间】:2012-05-29 22:34:02
【问题描述】:

我想将某个端口从 WAN 重定向到我的笔记本电脑。问题是,笔记本电脑的无线 IP 与有线 LAN 不同。有没有办法在 iptables 中使用计算机名?

Iptables 端口转发规则(使用 IP)应该是:

iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

我可以写一些类似的东西

iptables -t nat -A PREROUTING -p tcp -d mycomputername --dport 422 -j DNAT --to mycomputername:22

计算机名会在当前IP中解析吗?

谢谢。

【问题讨论】:

  • 为什么不能给电脑静态IP地址?

标签: iptables computer-name


【解决方案1】:

否 - 尝试这样做会产生“错误的 IP 地址”(至少在 v 1.4.7 中)

iptables 似乎不喜欢目标地址和端口的组合。 (您可以为简单的 IP 指定主机名,但在附加端口时似乎不行)。

IPTables 手册还建议不要指定域名。

【讨论】:

    【解决方案2】:

    这是一个糟糕的主意(但有一些解决方案(特定于 IP 和特定于 MAC),见下文)。正如其他答案所述,手册页建议不要这样做。但这不仅仅是安全性(DNS 本质上是不安全的) - 这也是性能损失。当然你可以有一个主机映射,但仍然指定 IP 是最好的(但即使这样:你可以覆盖或更确切地说指定哪个是首先使用 - dns 或主机,通常使用名称而不是 IP 是有风险的业务)。

    两种可能的解决方案(IP 相关 - 如果您不能这样做,请参阅第三种),但是: 首先,根据 MA​​C 地址分配 IP(或必要时的 IP)。

    或者,您可以有两个不同的规则:毕竟,它是一条链;它会一直持续到得到答案为止。因此,只需指定两个规则,每个规则都有正确的 IP。这可能是理想的解决方案(可以说第一个解决方案大致相同)。啊,我刚才看到有人评论了静态IP。这确实是答案 - 您不会动态分配 IP。但如果非要动态IP,还是有办法的:

    如果您不能自己分配 IP(例如不受您的控制),您可以使用 iptables 的 mac 模块。有关详细信息,请参阅手册页。

    【讨论】:

      猜你喜欢
      • 2012-05-14
      • 2013-05-18
      • 2022-11-04
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 2020-03-18
      • 2011-09-03
      • 1970-01-01
      相关资源
      最近更新 更多