运行 CentOS 5.4
为什么我有到 169.254.0.0 的路由,尽管它没有出现在网络 > 以太网设备 > 路由配置对话框中?
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth2
Run Code Online (Sandbox Code Playgroud) 基础设施:数据中心中的服务器、操作系统 - Debian Squeeze、网络服务器 - Apache 2.2.16
情况:
我们的客户每天都在使用实时服务器,因此无法测试调整和改进。因此,我们希望将实时服务器上的入站 HTTP 流量实时复制到一台或多台远程服务器。流量必须传递到本地 Web 服务器(在本例中为 Apache)和远程服务器。因此,我们可以调整配置并在远程服务器上使用不同/更新的代码进行基准测试并与当前的实时服务器进行比较。目前,网络服务器正在收听大约。由于客户端结构,除了 80 和 443 之外还有 60 个额外的端口。
问题:如何实现对一台或多台远程服务器的复制?
我们已经尝试过:
我的网络是这样设置的。 http://docs.google.com/Doc?docid=0AZ1YxuLE4djaZGhqN2s1NmRfMjhjNjc0Ym1meg&hl=en
一句话:我有一台机器(Calcium,运行 Arch Linux),它有两个网络接口。eth0 连接到路由器,并且是千兆位。Eth1 直接连接到超过 10 兆位的大学网络。路由器的上行也连接到大学网络,也是10兆。
目前(我相信)Calcium 上的所有流量都通过 eth0,通过路由器,无论是内部的还是外部的。(我如何确认这一点?)
理想情况下,发往内部网络 (192.168.10.0/24) 的流量将通过 eth0 传输到路由器,以及它要去的任何地方。所有其他流量都应该通过 eth1。
我遇到过这样的情况,客户端需要将一组不到 100 万个单独的 IP 地址(无子网)列入黑名单,并且网络性能是一个问题。虽然我猜想 IPTables 规则对性能的影响比路由小,但这只是猜想。
有没有人有任何确凿的证据或其他理由支持 IPTables 或空路由作为将长 IP 地址列表列入黑名单的解决方案?在这种情况下,一切都是自动化的,因此易用性并不是真正的问题。
经过一些测试和开发,这些选项似乎都不可行。似乎路由查找和 iptables 都通过规则集进行线性搜索,并且处理这么多规则花费的时间太长。在现代硬件上,将 100 万个项目放入 iptables 黑名单会使服务器减慢到每秒大约 2 打数据包。所以IPTables和空路由都出来了。
ipset,正如 Jimmy Hedman 所推荐的那样,会很棒,只是它不允许您在一组中跟踪超过 65536 个地址,因此除非有人有任何想法,否则我什至无法尝试使用它。
显然,阻止这么多 IP 的唯一解决方案是在应用程序层中进行索引查找。不是这样吗?
更多信息:
此实例中的用例是阻止 IP 地址的“已知违规者”列表访问 Web 服务器上的静态内容。FWIW,通过 Apache 进行阻塞Deny from同样缓慢(如果不是更慢),因为它也进行线性扫描。
仅供参考:最终的工作解决方案是将 apache 的 mod_rewrite 与 berkeley DB 映射结合使用来对黑名单进行查找。伯克利数据库的索引性质允许列表以 O(log N) 性能扩展。
几天来,我一直在用头撞墙试图弄清楚这一点:我的 ifconfig 是:
eth0 Link encap:Ethernet HWaddr 00:50:56:BB:XX:XX
inet addr:192.168.36.132 Bcast:192.168.37.255 Mask:255.255.254.0
eth1 Link encap:Ethernet HWaddr 00:50:56:BB:XX:XX
inet addr:116.xx.xx.xx Bcast:116.xx.xx.xx Mask:255.255.255.192
Run Code Online (Sandbox Code Playgroud)
当我尝试添加静态路由以离开 eth0 时,出现以下错误:
servername-test:/ # route add -net 10.248.12.0 netmask 255.255.255.240 gw 192.168.36.254 dev eth0
SIOCADDRT: Network is unreachable
Run Code Online (Sandbox Code Playgroud)
我的默认网关是:
servername-test:~ # netstat -anr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
116.xx.xx.xx 0.0.0.0 255.255.255.192 U 0 0 0 eth1
192.168.238.0 192.168.36.254 255.255.255.0 UG 0 0 0 eth0
192.168.239.0 192.168.36.254 255.255.255.0 UG 0 0 0 …Run Code Online (Sandbox Code Playgroud) 如果您redirect-gateway def1在 OpenVPN 配置文件中使用选项,服务器将在您的路由表上添加一个默认网关,我想知道为什么 OpenVPN 没有使用网络0.0.0.0掩码0.0.0.0作为默认网关而不是网络掩码128.0.0.0?
出于隐私原因,我想在远程服务器上设置 VPN 以路由我的所有 Internet 流量。我可以设置传入连接并成功连接到它。问题是,我只能看到远程计算机,而无法打开其他网站。我希望远程服务器像 NAT 一样工作。我怎样才能做到这一点?
请注意,我不想拆分 Internet 流量。我实际上想将所有流量发送到远程服务器,但需要使其中继流量。
作为记录,我的远程服务器是 Windows Web Server 2008,它没有路由和远程访问服务。
我最感兴趣的是服务器配置。我在配置客户端时没有任何问题。顺便说一句,Windows Web Server 2008 似乎具有内置于客户端操作系统(如 Vista)中的相同 VPN 功能,特别是它不包括 MMC 中的 RRAS 控制台。我也愿意接受有关第三方 PPTP/L2TP 守护程序的建议(如果它们是免费的)。
当我启动 VPN 连接时,在 utun0 接口上添加了一个新的默认路由:
Destination Gateway Flags Refs Use Netif Expire
default utun0 UCS 21 0 utun0
default 192.168.43.1 UGScI 14 0 en1
Run Code Online (Sandbox Code Playgroud)
我想摆脱 default/utun0 路由。使用带有 -ifscope 修饰符的路由时,出现以下错误:
$ sudo route delete -ifscope utun0 -net 0.0.0.0
route: writing to routing socket: not in table
delete net 0.0.0.0: not in table
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?为了删除默认路由,route 命令的正确语法是什么?
我试图了解 Linux 上的网络工具。我现在对应该使用什么来操作静态路由感到困惑:route或ip route?:
route - 显示/操作 IP 路由表
ip - 显示/操作路由、设备、策略路由和隧道
这两个工具有什么区别?