Questions tagged «routing»

路由器将通信网络上的数据包转发到最终目的地的过程。

3
Debian / IPv6:默认路由在1800秒后过期,失去了连接能力
我在vServer上运行Debian 8。安装docker并启用IPv6后,我注意到了一些奇怪的地方。我不知道Docker是否与此有关,只是我在安装它后才注意到此问题。 我的默认路由配置为在ca之后失效。1800秒 超时后,我实际上消失了。这是我(显然)松开IPv6连接的时候。 root@wopr:~# ip -6 route xxxx:yyyy:zzz:xxxx::/64 dev eth0 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 fe80::/64 dev br-5c1ce68ea951 proto kernel metric 256 fe80::/64 dev br-61f6bbfdbe87 proto kernel metric 256 [a lot more routed for my docker containers] default via fe80::1 dev eth0 proto …

4
OpenVPN,非常缓慢地转发数据包
我重新启动了服务器,一个奇怪的问题出来了。我在ArchLinux上运行,客户端是Ubuntu,Android和Mac。 问题在于,通过客户端访问Internet的速度很慢,大约为2ko / s,然后逐渐停止。 但是,从服务器直接下载某些内容到客户端是全速的。而且,很明显,来自服务器的Internet处于全速状态(40mo / s)。 我不知道重新启动后发生了什么,但是此问题在所有客户端上都存在,并且仅与将openvpn转发到Internet的流量有关。 编辑:尝试与tcp,没有解决。编辑:测试了各种片段/ mtu设置,没有更改。 这是我的所有conf: ╭─<root@Alduin>-</etc/openvpn>-<1:45:07>-◇ ╰─➤ cat Alduin.conf ccd/Thunderaan local 212.83.129.104 port 1194 proto udp dev tun ca keys/ca.crt cert keys/Alduin.crt key keys/Alduin.key dh keys/dh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "dhcp-option DNS 10.8.0.1" client-to-client keepalive 5 60 ping-timer-rem comp-lzo persist-key persist-tun status …

4
同一接口但在不同子网上的第二个IP地址
在CentOS 5.7 64位中,一个接口(例如eth0)(别名接口配置)在另一个子网中是否可以有另一个IP地址? 这是eth0的原始配置 more etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.91.255 HWADDR=00:1D:09:FE:DA:04 IPADDR=192.168.91.250 NETMASK=255.255.255.0 NETWORK=192.168.91.0 ONBOOT=yes 这是eth0:0的配置 more etc/sysconfig/network-scripts/ifcfg-eth0:0 # Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express DEVICE=eth0:0 BOOTPROTO=static BROADCAST=10.10.191.255 DNS1=10.10.15.161 DNS2=10.10.18.36 GATEWAY=10.10.191.254 HWADDR=00:1D:09:FE:DA:04 IPADDR=10.10.191.210 NETMASK=255.255.255.0 NETWORK=10.39.191.0 ONPARENT=yes 由于存在两个不同的网关,resolv.conf文件应如何更改?需要其他更改吗?

1
双NAT网络的网络重组方法
由于一系列较差的网络设计决策(主要)由许多年前在这里为了节省几块钱,有,我有一个决定性的次优架构的网络。我正在寻找改善这种不愉快情况的建议。 我们是一家基于Linux的IT部门且预算有限的非营利组织。(注意:我们运行的Windows设备均不执行任何与Internet对话的操作,也没有任何Windows管理员在工作。) 关键点: 我们有一个总公司和大约12个远程站点,这些站点通过物理隔离的交换机对子网进行NAT双重翻倍。(没有VLAN,并且使用当前交换机的能力有限) 这些位置具有一个“ DMZ”子网,在每个站点的相同分配的10.0.0 / 24子网中进行NAT。这些子网无法与任何其他位置的DMZ进行通信,因为除了服务器和相邻的“防火墙”之间,我们不会将它们路由到任何地方。 其中一些位置具有多个ISP连接(T1,电缆和/或DSL),我们使用Linux中的IP工具手动路由。这些防火墙都运行在(10.0.0 / 24)网络上,并且大多是“专业”级防火墙(Linksys,Netgear等)或ISP提供的DSL调制解调器。 连接这些防火墙(通过简单的非托管交换机)是一台或多台必须可公开访问的服务器。 连接到主办公室的10.0.0 / 24子网的是用于电子邮件,远程通勤VPN,远程办公室VPN服务器,内部192.168 / 24子网的主路由器的服务器。这些必须基于流量类型和连接源从特定的ISP连接进行访问。 我们所有的路由都是手动完成的,也可以通过OpenVPN路由语句完成 部门间通信通过主“路由器”服务器中的OpenVPN服务进行,该服务器具有自己的NAT。 远程站点在每个站点上仅安装一台服务器,由于预算限制,无法负担多台服务器。这些服务器都是LTSP服务器,有5-20个终端。 192.168.2 / 24和192.168.3 / 24子网大部分是(但不完全)在可以执行VLAN的Cisco 2960交换机上。其余的是DLink DGS-1248交换机,我不确定我是否对使用VLAN足够信任。由于仅高级网络人员才了解VLAN的工作原理,因此VLAN还存在一些内部问题。 所有常规的互联网流量都通过CentOS 5路由器服务器,该服务器根据手动配置的路由规则将192.168 / 24子网NAT转换为10.0.0.0/24子网,我们使用该路由规则将出站流量指向基于以下内容的正确的互联网连接: “-主机”路由语句。 我想简化此过程,并为ESXi虚拟化做好所有准备工作,包括这些面向公众的服务。是否有一种免费或低成本的解决方案可以摆脱Double-NAT并为这种混乱恢复一点理智,以便将来我的替代产品不会困扰我? 主办公室基本图: 这些是我的目标: 在该中间10.0.0 / 24网络上具有接口的面向公众的服务器将被移入ESXi服务器上的192.168.2 / 24子网中。 摆脱双重NAT,将整个网络放在一个子网上。我的理解是,无论如何,这是我们在IPv6下仍需要做的事情,但我认为这种混乱正在阻碍。

2
连接不可靠的流量路由
我有一组办公室,它们通过远端的DSL链路都连接到总公司,以节省成本。(我们是非营利组织,请不要问) 从历史上看,处理远程站点的ISP和处理OpenVPN所运行的T1线路的ISP之间的链接存在明显的问题,因此这些链接经常断开。 我们的邮件服务器的公共接口位于第一提供商的网络上,因此工作正常,但是速度较慢,因为它也是DSL。 为了解决上游网络的不可靠性问题,我编写了一个脚本,该脚本简单地修改了远程站点上的DNS记录,以在隧道打开时指向内部IP,而在到主站点的VPN隧道关闭时则指向公共IP。 如何以一种更加优雅的方式做到这一点,这种方式将是瞬时的(而不是由cron驱动的脚本)并且对用户透明? 编辑:远程办公室:运行各种供应商提供的Actiontecs和Motorola以及一些带有Netgears和Linksys防火墙的Ubuntu 9.10 LTSP服务器。主办公室:几乎100%的Linux(在本例中为CentOS),带有多个Netgear FVS318 / 338系列防火墙,并为/ 27上的每个IP提供了单独的防火墙。(另一个不要问,那是在我到达这里之前)
10 vpn  routing  openvpn 

3
dhcp租约续订后没有互联网
今天,我们有许多机器停止上网。经过大量的故障排除后,共同点是他们今天都续订了dhcp租约(此处为8天租约)。 续约后,您期望的一切看起来都不错:它们具有有效的IP地址,dns服务器和网关。他们可以访问内部资源(文件共享,Intranet,打印机等)。进一步的故障排除表明,他们无法ping或跟踪到我们的网关,但是他们可以到达网关前面的核心三层交换机。为计算机分配静态IP是一种临时解决方案。 最后一个难题是,到目前为止,只有与网关处于同一VLAN的客户端才收到报告。我们的行政人员和教职员工与服务器和打印机位于同一个VLAN,但是电话,密钥卡/相机,学生/ WiFi和实验室都有各自的VLAN,据我所知,其他任何VLAN都没有出了问题。 我与网关供应商有单独的入场券,但我怀疑他们会轻轻松松地告诉我问题出在网络上的其他地方,因此我也在这里提出问题。我已经清除了网关和核心交换机上的arp缓存。任何想法欢迎。 更新: 我尝试从网关ping回一些受影响的主机,但奇怪的是我确实得到了响应:来自一个完全不同的IP地址。我随机尝试了一些,最终得到了这个: 2011年9月2日星期五13:08:51 GMT-0500(中央夏令时) PING 10.1.1.97(10.1.1.97)56(84)个字节的数据。 从10.1.1.105开始的64个字节:icmp_seq = 1 ttl = 255时间= 1.35 ms 从10.1.1.97开始的64个字节:icmp_seq = 1 ttl = 255时间= 39.9 ms(DUP!) 10.1.1.97是ping的实际预期目标。10.1.1.105应该是另一座建筑物中的打印机。我以前从未在ping响应中看到过DUP。 目前,我最好的猜测是10.1.1.0/24子网中我们宿舍间之一中的流氓wifi路由器,网关错误。 ...继续。我现在已经关闭了有问题的打印机的电源,并且从网关ping到受影响的主机只是完全失败了。 更新2: 我在受影响的计算机,网关以及它们之间的每个开关处检查arp表。在每个点上,这些设备的输入都是正确的。我没有验证表中的每个条目,但是每个可能影响主机和网关之间流量的条目都可以。ARP不是问题。 更新3:目前 一切正常,但是我看不到我为解决这些问题所做的任何事情,因此我不知道这是否可能只是暂时的停顿。无论如何,现在我无能为力,无法诊断或排除故障,但是如果再次出现故障,我将进行更多更新。

1
为什么必须在网桥设备上配置IP?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 5年前关闭。 我对网桥的理解是有一种“虚拟交换机”,可以虚拟连接网络设备(已添加到网桥),就好像我要通过电缆将它们连接到真实交换机一样……但是一定有问题。这种类比,由于某种原因,我需要在网桥设备上设置IP地址。 例 例如,让我们进行以下设置:我有一台充当多个虚拟机(具有自己的虚拟网络设备vnet0,vnet1,vnet2等)的主机的计算机。该计算机具有一个物理网络接口eth0,我想将其用于所有虚拟机和我的主机与外界进行通信。 由于我的主机应具有IP地址,因此,我认为我应该在eth0上配置此IP(默认网关,DNS服务器等)。然后,我将创建网桥br0并将所有接口(eth0,vnet0,vnet1,vnet2等)添加到该网桥。这不行... 相反,我需要将网桥br0配置为具有主机的IP地址(并且还配置了默认网关和DNS服务器),然后将所有接口(eth0,vnet0,vnet2等)添加到网桥br0 。 好吧,这可行。但是我实际上想知道为什么在eth0上定义IP不起作用。我似乎缺少一些有关如何实际工作的基本知识。因此,如果有人可以向我解释这是怎么回事,我将很高兴。我通常想真正了解这些事情是如何工作的。因此,如果您要详细介绍协议,我将非常高兴。


2
将流量从TUN设备(C ++后端)转发到默认网关
以下问题只是我遇到的一个较大的解决方案中的一部分。到目前为止,所有其他元素似乎都起作用,因此,我将尝试描述我遇到问题的很小的部分。 我有一台Linux计算机,带有tun0(隧道接口)和eth0(女巫是我连接互联网的默认网关)。 目标:我的目标是接收从tun0传入的数据包,并将其转发到默认网关。所以实际上是一个非常简单的NAT案例,我想与伪造物理接口的tun0“共享” Internet。 Tun已使用创建 sudo openvpn --mktun --dev tun0 --user USER sudo ip addr add 10.2.0.1/24 dev tun0 sudo ip link set tun0 up 因此,我可以启动它并运行它,可以对其进行ping操作。此外,我还具有连接到此TUN设备的C ++应用程序,可以对其进行读写。(fti:这是我关注的教程:http : //backreference.org/2010/03/26/tuntap-interface-tutorial/) 我将对8.8.8.8提出的一些正确的ICMP(ping)请求转储到C ++中的字节数组中。现在,使用我的程序将其写入tun0设备。ICMP请求具有 源(10.2.0.10)-因此内核知道返回的路由(同一子网) 目的地(8.8.8.8)-Google的DNS 正确的校验和等。(在Wireshark / TShark中,它正确显示在tun0上) 然后,我有以下路线: iptables -F # flush iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE …
10 routing  nat  icmp  forwarding  tun 

2
MULTI:来自客户端的错误的源地址-任何一次性解决方案?
设置: 我有一个openvpn客户端/服务器设置(底部的配置文件),并且MULTI: bad source address from client [192.168.x.x], packet dropped在服务器上收到了臭名昭著的消息。服务器具有公共IP地址,而客户端位于NAT之后。 先前提出的解决方案的不足之处: 该client-config-dir服务器配置目前是空的定义。以前的帖子(在此处以及在openvpn支持论坛中)建议在中添加DEFAULT带有正确规则的文件client-config-dir,或为每个用户添加具有这些规则的文件以解决问题。 但是,这似乎不是一个长期解决方案,因为这些规则是特定于客户端位置的。因此,我可以添加一条规则以允许客户端192.168.x.0进行连接。但是,如果它们从另一个192.168.y.0用于NAT的网络连接,则将需要一条新规则。 问题: 可以以通用/一次性方式编写所需的规则吗? 有人可以解释为什么首先出现此问题吗? 服务器配置: port 1234 proto tcp dev tun ca ca.crt cert openvpn.crt key openvpn.key dh dh2048.pem server 10.78.96.0 255.255.255.0 keepalive 10 120 comp-lzo cipher CAMELLIA-128-CBC user nobody group nogroup persist-key persist-tun client-cert-not-required plugin /usr/lib/openvpn/openvpn-auth-pam.so login …
10 vpn  routing  openvpn 

1
通过具有相同IP但在不同接口上的不同网关的OpenBSD路由
我有多个使用相同网关IP的VPN连接(由于无法控制,我无法更改它)。这些VPN均提供对不同网络的访问,并且这些网络至少在上游一跳或两跳,因此在所有情况下都需要网关IP。使用Linux,要路由到网络,我可以简单地执行以下操作: ip route add $destination_1 via $gateway_ip dev $interface_1 ip route add $destination_2 via $gateway_ip dev $interface_2 ip route add $destination_3 via $gateway_ip dev $interface_3 等等 然后,Linux将把每个目标网络的流量放到正确的接口上,直达正确的网关,因此每个接口的网关IP都没有关系。 我的问题是,如何在OpenBSD中实现这一目标?我尝试过并失败了。我的发现是,对于特定的目的地,我可以: 指定一个接口(如果目标在该链接上可直接访问-在我的情况下不是) 指定网关IP,因为目标不在链接上 但是我不知道如何同时指定两者。

1
如何在Linux上实现每个数据包的多路径路由?
3.6之前的Linux内核使用路由缓存进行IPv4多路径路由,这意味着在两个单独的线路/ ISP之间进行路由非常容易。从3.6版开始,算法改为按数据包分组,这意味着需要一些路由表/规则/ iptables标记技巧才能实现两条线路/ ISP。 但是,如果您有两条使用同一ISP的线路,并且可以以平衡/故障转移的方式在每个数据包的基础上沿着一条线路将单个IP路由到两条线路,那么从3.6版开始,您可以轻松实现线路绑定(在IP级别),因为每个数据包在两个方向上的路由。 从4.4开始,内核再次基于基于源地址和目标地址的哈希值更改为基于流的负载平衡。 我当前正在运行内核4.4.36,并且正在通过PPPoE连接使用多路径路由。来自ISP的我的下游流量以每个数据包为基础通过两条单独的线路进行路由(一条IP沿着两条线路进行路由)。这使我的下载速度快于单个线路的速度。两条线的速度几乎相加。它确实运行良好,Skype视频,VoIP(UDP),YouTube等都很好。 由于具有良好的下游体验,我想在上游尝试,但上游的流量是根据较新的基于流的算法在两个ppp设备(具有相同IP地址)之间进行路由的。这意味着我无法实现比单行更快的上传速度。 有没有一种方法可以配置当前内核以使用每包算法?还是采用其他方法来实现每个数据包的多路径路由?我是否需要恢复到较旧的内核(出于各种其他原因,我不想这样做)? 我的ISP不支持多链接ppp。 如果相关,我目前正在Raspberry Pi 3上运行Arch Linux ARMv7。

3
DNS服务器已使用任播。添加更多IP会增强可伸缩性吗?
RFC 1034要求我们为DNS服务器分配至少两个IP地址。但是,如果我们使用任播寻址,则已经可以通过单个IP地址实现冗余。BGP任意播似乎可以很好地扩展到数百甚至数千个服务器。 如果是这样,为什么我们仍需要DNS服务器使用多个IP地址?如果我们已经进行了任播,它是否真的增强了冗余(有助于提高可用性),或者这只是神话? 如果仅使用一个IP地址,我们将面临哪些问题和错误? 这样,我的意思是完全省略辅助DNS地址,或者1.2.3.4在某些设置需要至少两个时使用伪IP(例如)作为第二个地址。

1
在哪里可以将专有信息嵌入第2层或第3层数据包中?
Citrix Netscaler具有一个有趣的属性,该属性将信息嵌入到发送到主机的TCP数据包中。此属性以使Netscaler可以使用它确定必须采用的虚拟服务器,主机和路由的方式回显给Netscaler。 将专有信息回显到主机的能力具有有趣的应用程序。 Citrix Netscaler如何做到这一点(在哪里填充位),以及Netscaler(或类似设备)理论上可以在数据包中的其他什么位置填充数据? 哪些设备将(或将不允许)使这些自定义数据保持不变?

1
CentOS,VLAN /子网外部无法访问具有不同子网的两个nics eth0 eth1
我在CentOS 6.3盒子上遇到问题。我们在服务器中有两个NIC(eth0和eth1),每个NIC都分配了来自不同子网的ip,例如eth0:192.168.1.2/24(网关192.168.1.1)和eth1:192.168.2.2/24(网关192.168。) 2.1)。真正的ips是世界可路由的。 每个NIC连接到不同的交换机,但最终都在一个路由器上。在路由器上,这两个子网位于不同的VLAN中,NIC的端口未加标签,因此没有VLAN ID传递到服务器。 现在在FreeBSD上,我仅将IP分配给每个NIC,并且它可以正常工作,两个IP都可以访问。在CentOS上,我只能将网关处于活动状态的IP作为默认路由。我可以ping通同一VLAN /子网内的任何IP,但无法访问该IP。 当我对每个网关进行跟踪路由时,我会看到它们通过适当的NIC,这是合理的,因为网关位于内部。但是,在子网外部,我目前只能ping 192.168.1.2。 IPtables目前也不处于活动状态。 要使其正常工作,需要采取什么措施? 我在谷歌上搜索了几个小时,尝试了不同的方法,但是没有用。我感觉自己缺少一些重要的东西,希望可以轻松解决:-) 任何帮助表示赞赏,谢谢!史考特 路由 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.