作为后续行动这个问题这个问题仍未解决。我有两个不同提供商的 ADSL 路由器,它们通过不同的电话线连接到互联网。如图所示。这些路由器在我的本地网络上的地址分别为 192.168.0.1 和 192.168.1.1。
我希望我家局域网中地址为 10.0.0.50 的计算机(及其他计算机)通过 192.168.1.1 网关路由,地址为 10.0.0.60 的计算机(及其他计算机)通过 192.168.0.1 网关路由。我还想让 10.0.0.50 与 10.0.0.60 进行通信(文件共享、远程桌面等)
我在用岸墙将 iptables 和 squid 配置为透明代理。我的配置可行吗?我应该怎么做?
答案1
是的,可以做到。但是,这是一项相对复杂的任务。路由器总是需要做出一次产生一个下一跳的决定。这意味着您不能有两个默认路由,而这正是计算机的互联网上行链路的主要功能。您需要的称为“策略路由”。其思想是定义多个路由表,这些路由表仅在默认路由上有所不同。然后您定义路由器应该将一个 RT 用于家用计算机,将另一个 RT 用于办公机器。
你可以找到最多这里有重要说明。
首先,您需要设置两个 RT。为了方便和便于记录,您应该/etc/iproute2/rt_realms
按照以下方式创建 2 条新线路:
123 home
124 office
这些数字必须是未使用的,即不在文件中,并且应低于 256(因为我不知道你的内核对你施加的上限是多少)。
然后你基本上需要复制你的主要 RT。你可以用 显示它ip route show
。然后你基本上复制每条路线,一次用于你的家庭餐桌,一次用于你的办公室餐桌。例如,如果有一条线
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1
由此得出的结论是
ip route add 192.168.0.0/24 dev eth0 table home
ip route add 192.168.0.0/24 dev eth0 table office
对路由器的每条路由都执行此操作。说到默认路由,default
屏幕上会直接显示,您只需添加通过 192.168.1.1 到家庭桌的默认路由和通过 192.168.0.1 到办公室桌的默认路由。
然后你需要告诉你的路由何时使用哪个路由表
ip rule add from 10.0.0.50/32 table home
ip rule add from 10.0.0.60/32 table office
如果您进行了一些合理的子网划分,则只需要为家庭和办公室各制定一条规则。就是这样。您现在有 2 个新的路由表,除了默认路由外,它们类似。每个表都只有一个默认路由,通过两个路由器之一。您已设置规则,根据要转发的数据包的来源,告诉您的 CentOS 路由器何时应该查看哪个表。它应该完全按照您的意愿行事……
我忘了,我不知道您使用代理做什么,但您可以为每种机器(办公室与家庭)创建单独的代理,或者所有代理流量都将使用相同的互联网连接。
答案2
当然有可能。不过我会用http://routerboard.com/RB751U-2HnD而是将两者都连接到 DSL 调制解调器,将调制解调器配置为桥接模式,将路由器配置为 pppoe 客户端,通过标记流量并设置基于标记的默认路由,优先将来自各种源 IP 的流量通过首选 pppoe 接口进行 nat。
答案3
我在虚拟机中安装 pfSense 并将其用作默认网关,从而解决了这个问题。我设置了一些 DHCP 预留并根据 IP 路由流量。很简单。