【问题标题】:How to route in linuxlinux下路由的方法
【发布时间】:2010-09-12 06:53:34
【问题描述】:

我的 isp 有 20 个 ips。我将它们绑定到运行 centos 的路由器盒。我设置了哪些命令,以什么顺序设置,以便我的局域网上的其他盒子,基于它们的 mac 地址或 192 ips,我可以让它们在特定的 ips 上路由到我的盒子。例如,我想让 mac addy xxx:xxx:xxx0400 出去 72.049.12.157xxx:xxx:xxx:0500 出去 72.049.12.158

【问题讨论】:

  • 这不是编程问题。
  • 有太多“正确”的方法可以做到这一点(取决于堆栈),无法在这里提供一个规范的方法——如果我写了一篇描述如何用 Shorewall 做到这一点的文档(例如),这将是shorewall.net网站的无用冗余。

标签: linux routing ip-address ip routes


【解决方案1】:

使用iptables 设置NAT

iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 72.049.12.157
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 72.049.12.158

这应该会导致192.168.0.0 子网上的任何 ip 都具有72.049.12.157 的“外部”ip,而192.168.1.0 子网上的任何 ip 都具有72.049.12.158 的“外部”ip。对于 MAC 地址匹配,请使用 -m mac --mac-source MAC-ADDRESS 代替 -s 192.168.0.0/24 参数

不要忘记激活 ip 转发:

cat /proc/sys/net/ipv4/ip_forward

如果上面返回一个0 那么它将不起作用,您必须启用它。不幸的是,这是特定于发行版的,我不知道 CentOS。
要快速破解,请执行以下操作:

echo 1 > /proc/sys/net/ipv4/ip_forward

【讨论】:

    【解决方案2】:

    路由器软硬件版本是多少?

    您是否尝试使用 linux 机器来执行此操作?现在停下来买个路由器。从长远来看,它将为您省钱。

    【讨论】:

    • 我完全不同意——根据我的经验,基于 Linux 的路由器+VPN+防火墙盒在正确配置后维护起来完全没有问题,而且 iptables+ebtables 比某些专有解决方案灵活得多。
    • 我已经做到了。如果您需要吞吐量,专用硬件会更快。当您购买一个像样的盒子和快速的高质量网卡时,您几乎要付出路由器的成本。然后,路由器将花费更少的电。
    【解决方案3】:

    用您提供的少量信息回答这个问题相当于在此处重写路由 Howto。你也可以

    • 阅读有关路由和 IP 的一般信息(例如 Linux 系统管理员指南)或
    • 请向我们提供有关您获得的确切 IP 地址的更多信息。

    上述使用 NAT 的答案绝对不是您在拥有公共 IP 地址时打算使用的答案。此解决方案不会很好地扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-20
      • 1970-01-01
      相关资源
      最近更新 更多