标签: route

“路由”和“IP路由”有什么区别?

我试图了解 Linux 上的网络工具。我现在对应该使用什么来操作静态路由感到困惑:routeip route?:

route - 显示/操作 IP 路由表

ip - 显示/操作路由、设备、策略路由和隧道

这两个工具有什么区别?

networking linux configuration ip route

16
推荐指数
2
解决办法
1万
查看次数

使用不同的物理网络接口和默认网关从 docker 容器路由

背景资料

我有一个带有两个运行 Docker 的网络接口的服务器。Docker 和一些虚拟化工具一样,创建了一个名为docker0. 默认情况下,此接口配置了一个 IP,172.17.42.1所有 Docker 容器都使用此接口作为网关进行通信,并分配了相同/16范围内的IP 地址。据我了解,所有进出容器的网络流量都经过 NAT,因此出站流量似乎来自172.17.42.1,入站流量则发送到172.17.42.1.

我的设置看起来像这样:

                                          +------------+        /
                                          |            |       |
                            +-------------+ Gateway 1  +-------
                            |             | 10.1.1.1   |     /
                     +------+-------+     +------------+    |
                     |     eth0     |                      /
                     |   10.1.1.2   |                      |
                     |              |                      |
                     | DOCKER HOST  |                      |
                     |              |                      | Internet
                     |   docker0    |                      |
                     |   (bridge)   |                      |
                     |  172.17.42.1 |                      |
                     |              |                      |
                     |     eth1     |                      |
                     |  192.168.1.2 …
Run Code Online (Sandbox Code Playgroud)

route gateway source bridge docker

15
推荐指数
2
解决办法
2万
查看次数

如何在没有推送默认网关的情况下配置 openvpn 服务器?

我需要配置我的 openvpn 服务器以提供一些 LAN 资源,但我不想为我的客户端路由所有流量。

这是我的示例网络描述:我的 LAN 是 192.168.1.0/24。Openvpn 网络是 192.168.100.0/24。我添加push route 192.168.1.0 255.255.255.0了我的服务器端配置。我想让我的客户可以访问 192.168.1.0/24,但不能访问其他流量。

如何从服务器端配置执行此操作?客户端配置是唯一的方法吗?

route openvpn

13
推荐指数
4
解决办法
6万
查看次数

选择默认网络接口

我有一个有 2 个接口的服务器。eth0 比 eth1 快 100 倍。尽管出于某种原因,每次重新启动时,都会随机选择默认界面。更烦人的是,它们都使用相同的网关,因此选择默认网关不起作用。linux如何选择默认界面,如何选择默认界面?

这是我route -n的帮助解释一下情况。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth1
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth0
0.0.0.0         173.246.103.254 0.0.0.0         UG    0      0        0 eth1
0.0.0.0         173.246.103.254 0.0.0.0         UG    100    0        0 eth0
Run Code Online (Sandbox Code Playgroud)

附注。这是一个 VPS,所以我的提供商也可能在某处有问题。第二个接口的原因是为了dns有另一个IP,因为它只做DNS,速度很慢。

编辑:这是一个 Ubuntu 10.04 服务器

networking linux route interface

12
推荐指数
1
解决办法
4万
查看次数

Linux 上可以有多少个自定义路由表?

我一直在 Linux 上使用自定义路由表,我对“ip route”命令的一些文档和行为感到有些困惑。似乎唯一有效的值应该是 0-255 加上 /etc/iproute2/rt_tables 中定义的名称:

255 local
254 main
253 default
0   unspec
Run Code Online (Sandbox Code Playgroud)

这将为自定义表留下 1-252。尝试使用未定义的表名会出现错误:

$ ip route show table kermit
Error: argument "kermit" is wrong: table id value is invalid
Run Code Online (Sandbox Code Playgroud)

但是,似乎我可以使用远高于 255 的数字而不会出错:

$ ip route show table 1000
[no output]
$ ip route add 10.10.10.0/24 dev eth0 table 1000
[no output]
$ ip route show table 1000
10.10.10.0/24 dev eth0  scope link
Run Code Online (Sandbox Code Playgroud)

在某些时候,事情变得更加奇怪。在 maxint (2^31) 处,它“溢出”到本地表 (255):

$ ip route show table 2147483647
[no output] …
Run Code Online (Sandbox Code Playgroud)

linux route iproute2

12
推荐指数
1
解决办法
2万
查看次数

在没有路由推送的情况下将默认路由更改为 DHCP 接口?

如何更改默认路由以使用 eth1 (DHCP) 而不是 eth0(静态)?我希望这是通过重新启动而持久的永久解决方案。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         RT-C0C1C0CF879F 0.0.0.0         UG    100    0        0 eth0
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
1.1.1.0         *               255.255.240.0   U     0      0        0 eth1
Run Code Online (Sandbox Code Playgroud)

我希望直接路由 (eth1) 为默认路由,而不是通过 NAT。

使用 Ubuntu 12.04

ubuntu route

11
推荐指数
1
解决办法
3万
查看次数

Freebsd 更改默认 Internet 通道路由

我在 freebsd 上有两个 Internet 频道和网关。当我使用命令切换频道时route change default chan2,该命令netstat -nr显示更改的默认路由。但traceroute显示数据包通过旧路由chan1。

例子:

$netstat -nr 
Routing tables Internet: Destination Gateway  Flags    Refs   Use  Netif Expire
                         default     xxx.xxx.183.54 US 0 8432    em3

$sudo route change default xxx.xxx.144.125 
change net default: gateway> xxx.xxx.144.125

$netstat -nr
Routing tables Internet: Destination Gateway Flags Refs Use  Netif Expire
                         default     xxx.xxx.144.125   US  2  16450  em3
Run Code Online (Sandbox Code Playgroud)

$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
 1  xxx.xxx.183.53 (xxx.xxx.183.53)  0.527 …
Run Code Online (Sandbox Code Playgroud)

freebsd route internet channel

10
推荐指数
1
解决办法
1210
查看次数

如何配置 DHCP 服务器以分配 IP 路由?

我有一台 DHCP 服务器(Linux、IPCop、dnsmasq)在我的默认网关服务器 192.168.0.1 上运行。我在网络中的另一台服务器上有一个 VPN 端点 (192.168.0.4)。是否可以配置 DHCP 服务器,使其在请求 IP 地址时不仅向 DHCP 客户端发送默认网关,还向其发送 VPN (192.168.1.*) 的路由信息​​?DHCP 客户端运行 Windows 和 Linux。

我试图在官方文档(http://www.ipcop.org/2.0.0/en/admin/html/custom-dnsmasq-local.html)中找到一些东西但失败了。RFC3442的存在表明它可能以某种方式成为可能。

dhcp linux route ipcop

10
推荐指数
1
解决办法
2万
查看次数

Linux 如何选择使用哪个网络接口?

假设我有一台机器在不同的子网上有两个网络适配器,eth0(10.0.100.5) 和eth1(10.0.200.5)。假设两个子网都有到 Internet(通过它们自己的 NAT)和到本地网络的其余部分(通过它们自己的交换机)的路由:

  1. 当向 10.0.150.5 或 173.194.43.102 发出请求时,Linux 将如何选择使用哪个网络接口?
  2. 有没有办法可以在网络级别影响这一点?从子网中删除路由会影响这一点吗?我在一个AWS环境,并与家电AMI的工作,我不能登录到,所以像这样将无法工作。

AWS VPC 环境,其他运行 Ubuntu 12.04 的机器,不知道我试图影响的机器正在运行(因为我无法登录)。

说明:

  • 两个子网都设置为/24s

networking ubuntu route interface amazon-web-services

10
推荐指数
1
解决办法
6565
查看次数

本地路由表有什么用?

我想了解什么是本地路由表。

如果我使用以下命令在其中添加一个随机地址:

sudo ip route add to local <any-ip-address> dev <network interface>
Run Code Online (Sandbox Code Playgroud)

现在我可以 ping 这个地址,但是 ifconfig 列出的接口没有使用这个地址。

例子:

$ ping 192.168.22.22 -w 1
PING 192.168.22.22 (192.168.22.22) 56(84) bytes of data.

--- 192.168.22.22 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

$ sudo ip route add to local 192.168.22.22 dev wlp2s0
$ ping 192.168.22.22 -w 1
PING 192.168.22.22 (192.168.22.22) 56(84) bytes of data.
64 bytes from 192.168.22.22: icmp_seq=1 ttl=64 time=0.018 ms
64 bytes from 192.168.22.22: icmp_seq=2 …
Run Code Online (Sandbox Code Playgroud)

routing route ifconfig linux-networking iproute2

9
推荐指数
1
解决办法
1万
查看次数