Articles of iproute2

获取Linux内核路由规则到版本控制

我们目前使用的是大量的linux路由器,目前有一些团队倾向于跳入服务器,并在需要时改变路由规则,审计变得令人难以置信的繁琐。 对于我们存储在git仓库中的所有其他服务器configuration,并迁移到使用puppet。 但是,我还没有弄清楚如何pipe理iproute2configuration,因为所有更改都是现场完成的。 这是一个类似的问题思科路由器: pipe理和审计现有的思科防火墙访问控制和路由规则我想知道如果这样的事情可以在linux iproute2?

Linuxnetworking和路由

我有3个networking: 192.168.1.0/24 192.168.11.0/24 192.168.50.0/24 192.168.1.0/24和192.168.11.0/24之间通过IPSec隧道连接, 192.168.11.0/24和192.168.50.0/24之间以相同的方式相互连接。 [ 192.168.1.0/24 ] <——–> [ 192.168.11.0/24 ] <——–> [ 192.168.50.0/24 ] 我在本地计算机上的1.0/24子网上,我正在尝试使用11.0/24的路由器作为下一跳地址来为50.0/24子网设置路由。 路由设置如下: ip route add 192.168.11.0/24 via 192.168.1.1 (this route is unnecessary as the router handles this implicitly) ip route add 192.168.50.0/25 via 192.168.11.254 (At this point, I get: RTNETLINK answers: No such process) 我是否错误地做了一些命令,或者我对这个路由的工作方式有一个根本性的误解?

单个子网上的网关冗余

我试图发现是否有任何方法在单个子网上有超过1个默认网关(在故障切换策略中)。 如果一个网关出现故障,我希望将服务器故障转移到备份默认网关。 我研究过使用CARP,但它不兼容云环境。

具有无编号接口的IPv6路由 – beyound范围错误

我已经build立了一个从家到远程主机的未编号的L2tp隧道。 在尝试ping ipv6.google.com时,我收到了一个超出范围的错误,我知道在一段时间之前,链接本地地址不应该以这种方式使用,但现在使用无编号的接口,这应该是可能的。 两台机器都运行着最新的debian jessie,但是使用了更新的内核4.6.0-0.bpo.1-amd64 隧道: ~> sudo ip l2tp show tunnel Tunnel 386, encap IP From 192.168.88.254 to remote_host Peer tunnel 381 地址和路由: 首页〜> ip -6 addr 5: l2tpeth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 state UNKNOWN qlen 1000 inet6 fe80::8427:7dff:fea4:939b/64 scope link valid_lft forever preferred_lft forever ~> ip -6 route local ::1 dev lo proto kernel […]

OpenVPN在两个远程站点上具有相同的子网

在使用TUN设备时,我遇到了OpenVPN集中器的问题。 情况是这样的: OpenVPN Server VPN Subnet: 10.10.10.1/24 PC1 OpenVPN Client VPN IP: 10.10.10.50 PC Local subnet/IP: 192.168.20.100 PC2 OpenVPN Client VPN IP: 10.10.10.60 PC Local subnet/IP: 192.168.30.100 RemoteSite1 VPN IP: 10.10.10.70 Local Subnet: 192.168.80.0/24 RemoteSite2 VPN IP: 10.10.10.80 Local Subnet: 192.168.80.0/24 PC1连接到RemoteSite1,PC2连接到RemoteSite2,但在使用popup式连接时,其中一台PC到达错误的远程站点。 使用TAP设备时,此设置可以很好地工作。 为了避免OpenVPN服务器发生networking冲突,远程站点没有路由规则,每台PC都有一个特定的查找路由表: root@openvpn~ # ip rule sh 0: from all lookup local 1: […]

报告的带宽使用情况在iproute2和ifconfig之间有所不同

我的团队有一台服务器,用于使用FOG对我们的工作站进行映像。 我有点好奇,看看我们使用了多less带宽。 当我运行ifconfig eth0 ,TX / RX线路被读取 RX packets:166949376 errors:0 dropped:0 overruns:0 frame:0 TX packets:350126730 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:31757576798 (29.5 GiB) TX bytes:458006556301 (426.5 GiB) 但是当我运行ip -s link show eth0 ,等效的输出是 RX: bytes packets errors dropped overrun mcast 1693647583 166958818 0 0 0 18979 TX: bytes packets errors dropped carrier collsns […]

IP路由添加手动工作,但通过bash脚本运行时抛出“错误:预期的inet前缀,而不是…”

我试图运行一个脚本,应该添加此路由到表11: ip route add local 10.1.3.212 dev eth1 proto kernel scope host src 10.1.3.212 table 11 如果我手动运行这个命令,它是成功的,我可以看到表11中的条目,但是如果我运行脚本,执行以下操作: if [[ ${IP_ROUTE} == local* ]]; then ip route add ${IP_ROUTE} table ${NEW_INTERFACE_TABLE} 2>>/home/ec2-user/script_output fi $ {NEW_INTERFACE_TABLE}是11,脚本会抛出这个错误: Error: an inet prefix is expected rather than "local 10.1.3.212 dev eth1 proto kernel scope host src 10.1.3.212 ". 请帮忙,我疯了。

iproutes2的多个默认路由

当涉及到默认路由时,我很困惑ip rules的语义。 有时,我可以使用不同的网关有多个默认路由: # ip route default via 10.0.0.4 dev eth0 proto static metric 1024 10.0.0.0/16 dev eth0 proto kernel scope link src 10.0.0.129 45.79.69.51 via 10.0.0.4 dev eth0 169.254.0.0/16 dev rath scope link metric 1000 192.168.12.0/24 dev rath proto kernel scope link src 192.168.12.2 # ip route replace default via 192.168.12.1 # ip route […]

命令行实用程序在ip规则/ ip路由中testingfwmark?

我试图find一个工具,使我能够find一个数据包将要进入的设备上的路由,并有一个特定的目标地址。 ip route get将做大部分我正在寻找。 问题是,我想testing数据包是否在路由环境相当复杂的情况下find正确的路由。 理想的工具将允许欺骗具有fwmark(或其他属性)的通用数据包,并且可以通过整个IpTables链和ip route / ip规则集来发送它,或者只是find将被返回的路由。 我希望能够运行一个命令来validation一组特定的路由按预期工作。 最低要求是像ip route get但与fwmark支持。 虽然,在这一点上,任何build议testing工具的路由将不胜感激! 随着路线的堆积,它变得非常复杂。

是否有可能在网关(下一跳)路由器看到路由表?

假设“route -n”(在Red Hat / Debian上)命令的输出如下: Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 abcd 0.0.0.0 UG 0 0 0 venet0 鉴于网关(下一跳路由器)的IP是abcd,是否有可能在主机上显示此特定网关的路由表? 或者我必须联系路由器的pipe理员在abcdfind?