事实证明这比我想象的要难。我要删除的路由是“!” 被拒绝的路线,但我似乎无法制定正确的“路线删除”命令来实现它。
这是路由表...
Destination Gateway Genmask Flags Metric Ref Use Iface
67.40.227.206 * 255.255.255.255 UH 0 0 0 ppp0
192.168.46.79 * 255.255.255.255 UH 0 0 0 ipsec0
192.168.46.79 - 255.255.255.255 !H 2 - 0 -
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
10.1.0.0 * 255.255.0.0 U 0 0 0 ipsec0
10.1.0.0 - 255.255.0.0 ! 2 - 0 -
default * 0.0.0.0 U 3 0 0 ppp0
default * 0.0.0.0 U 4 0 0 ppp0
Run Code Online (Sandbox Code Playgroud)
我有 192.168.46.79 和 10.1.0.0 的两个条目。这些是由我正在使用的基于 …
我想知道是否有可能在运行内部跟踪路由时显示Dell Powerconnect 2848交换机。这将有助于诊断问题,并使查看问题发生的位置变得更加容易。
根据数据表,此特定交换机具有第 2 层和第 3 层感知能力。我不完全确定这意味着什么。
这可能吗?
我有以下问题:我有一个具有相当动态网络配置的服务器,需要使用 IF 参数在其上配置路由:
route add ... mask ... ... if ?
Run Code Online (Sandbox Code Playgroud)
如果我知道有关该适配器的所有其他信息,是否有可靠的手动或编程方式来获取该接口编号?
假设同一网络上存在两个网关。如果我理解正确,发件人计算机上的 IP 路由表决定哪些数据包通过哪个网关路由。
IP 路由表包含网关的 IP 地址。
这个网关的IP地址在发送IP数据包时是如何使用的?
在我的办公室,有一个 Windows Server 2008 路由器,192.168.16.1,这是我们的默认网关。这通过我们的主要互联网连接发送数据。这完美地工作。
192.168.16.1 还有另一个当前未使用的互联网连接。这连接到路由器 192.168.1.254,然后连接到我们的辅助互联网连接。
我已经设置了路由和远程访问以将 192.168.1.* 范围路由到我们的内部网络,并且我能够从 IP 地址为 192.168.16.22 的桌面 ping 192.168.1.254。
我在同一个办公室的 linux box 有一个非常密集的上传和下载任务,所以我想设置一个静态路由,这样我就不会占用我们的主要互联网连接并影响我的同事。所以,我的计划是用静态路由设置这个盒子。
在 linux 机器上,我可以 ping 192.168.1.254,但是我无法向我们数据中心的目标服务器添加静态路由:
$ sudo route add -host 123.123.123.123 gw 192.168.1.254 dev eth0
SIOCADDRT: No such process
Run Code Online (Sandbox Code Playgroud)
从广泛的谷歌搜索中,此错误消息似乎表明我无法访问 192.168.1.254 来设置路由,但我可以 ping 它。我尝试向 192.168.1.254 添加静态路由,该路由运行良好,但这并没有解决问题(正如预期的那样)。
我在网络方面不够先进,无法进一步诊断这个问题,因为我的背景是软件开发,而不是系统管理。我将非常感谢您提供的任何建议。
感谢您的时间。
我目前生活在一个封锁了许多网站并且与外界的网络连接不可靠的国家。我在 Linux 服务器上有两个 OpenVPN 端点(例如:vpn1 和 vpn2),用于绕过防火墙。我可以完全访问这些服务器。这很有效,除了我的 VPN 连接上的高包丢失。这种丢包率随时间的变化在 1% 到 30% 之间变化,并且似乎具有低相关性,大部分时间似乎是随机的。
我正在考虑设置一个家用路由器(也在 Linux 上),它维护与两个端点的 OpenVPN 连接,并将所有数据包发送到两个端点两次。vpn2 会将所有数据包从家庭发送到 vpn1。返回流量将直接从 vpn1 发送到家,也可以通过 vpn2 发送。
+------------+
| home |
+------------+
| |
| OpenVPN |
| links |
| |
~~~~~~~~~~~~~~~~~~ unreliable connection
| |
+----------+ +----------+
| vpn1 |---| vpn2 |
+----------+ +----------+
|
+------------+
| HTTP proxy |
+------------+
|
(internet)
Run Code Online (Sandbox Code Playgroud)
为清楚起见:家庭和 HTTP 代理之间的所有数据包都将被复制并通过不同路径发送,以增加其中之一到达的机会。如果两者都到达,则可以静默丢弃第一个第二个。
带宽使用不是问题,无论是在家庭端还是端点端。vpn1 和 vpn2 彼此靠近(3ms ping)并且具有可靠的连接。
关于如何使用 Linux 中可用的高级路由策略来实现这一点的任何指示?
一段时间以来,我一直在努力解决这个不容易重现的问题。我使用的是 linux 内核 v3.1.0,有时路由到几个 IP 地址不起作用。似乎发生的事情是内核没有将数据包发送到网关,而是将目标地址视为本地地址,并尝试通过 ARP 获取其 MAC 地址。
比如现在我当前的IP地址是172.16.1.104/24,网关是172.16.1.254:
# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:1B:63:97:FC:DC
inet addr:172.16.1.104 Bcast:172.16.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:230772 errors:0 dropped:0 overruns:0 frame:0
TX packets:171013 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:191879370 (182.9 Mb) TX bytes:47173253 (44.9 Mb)
Interrupt:17
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.1.254 0.0.0.0 UG 0 0 0 eth0
172.16.1.0 0.0.0.0 255.255.255.0 U 1 …Run Code Online (Sandbox Code Playgroud) 假设以下场景,如果我有一台本地机器 (A),则使用 B 的内部 IP 请求另一台机器 (B),而不考虑端口。但是A和B不在同一个网络上,但是B有一个公网IP。我想要做的是当使用 B 的内部 IP 从机器 A 请求机器 B 时,然后发生一些路由并将 B 的内部 IP 转换为其公共 IP。鉴于两台机器的操作系统是 Ubuntu 14.04,如何实现此功能?
我在具有 2 个 ISP 连接的 freeBSD 中使用 openbgpd。我有自己的 AS 编号和 /22 网络。目前我正在向两个网络宣传整个 /22。入站流量进来但我的出站流量通过单个链接。
我想通过两个链接分配我的出站流量,以便出站流量也可以进行负载平衡。
如何在 freebsd 中使用 openbgpd 进行配置?
附上我当前的 openbgpd 配置以供参考。
AS 00my-as
listen on xx.xx.xx.x
router-id xx.xx.xx.x
network aa.aa.aa.0/22
group "ISP1" {
remote-as 11remoteas-1
neighbor bb.bb.bb.1 {
descr "ISP1"
announce all
}
}
group "ISP2" {
remote-as 22remoteas-2
neighbor cc.cc.cc.37 {
descr "ISP2"
announce all
}
}
deny from any
deny to any
allow from bb.bb.bb.1
allow to bb.bb.bb.1
allow from cc.cc.cc.37
allow to cc.cc.cc.37
Run Code Online (Sandbox Code Playgroud) 我正在尝试packets根据他们的进行路由source address,并添加了以下内容:
# ip rule add from 10.10.10.0/16 dev eth0 table foobar
# ip route add default via 100.100.100.1 dev eth0 table foobar
Run Code Online (Sandbox Code Playgroud)
然而,测试路由给了我错误的via地址:
# ip route get 4.3.2.1 from 10.10.10.1
4.3.2.1 from 10.10.10.1 via 100.0.0.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
为什么这不被尊重?
这是我的常客 routes
# ip route list
default via 100.0.0.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
和
# ip route show table foobar
default via 100.100.100.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
和
# ip rule list
0: from all lookup local
32765: from …Run Code Online (Sandbox Code Playgroud) ip-routing ×10
linux ×5
routing ×5
networking ×3
iptables ×2
windows ×2
arp ×1
bgp ×1
hosts-file ×1
ip ×1
openvpn ×1
route ×1
switch ×1
ubuntu ×1