标签: routing

在接口之间拆分端口/IP 绑定流量

与此请求类似(我认为),我希望看到绑定到某个端口号的流量通过一个特定接口路由,而特定 IP 的流量通过另一个接口路由。我尝试执行此操作的服务器全新安装了 Ubuntu 14.04.2,因此我拥有大量工具来完成该任务。然而,我对网络没有太多经验,所以我不知道从哪里开始。=)

提前致谢!

编辑:

一些细节,因为它们很重要。

me@server:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 54:9f:35:0a:6a:20 brd ff:ff:ff:ff:ff:ff
    inet 10.22.89.50/24 brd 10.22.89.255 scope global em1
       valid_lft forever preferred_lft forever
    inet6 fe80::569f:35ff:fe0a:6a20/64 scope link 
       valid_lft forever preferred_lft forever …
Run Code Online (Sandbox Code Playgroud)

networking routing

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

Linux:连接到具有相同 IP 范围的两个不同网络

当您打开 wifi 功能时,GoPro 摄像机会创建一个 wifi 热点。无法让它们使用不同的 IP 范围,我需要同时连接到多个 GoPro(使用多个无线接口)。

GoPro 将在两个网络上的 IP 10.5.5.9 上可用。

如何将 IP 地址从 wlan1 转换为不同的范围?例如,wlan1 上的化妆地址 10.5.5.* 可用作 10.1.1.*?

这将允许我在 10.1.1.9 上访问一个 GoPro,在 10.5.5.9 上访问另一个 GoPro。

networking routing iptables nat

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

如何以人类可读的形式将 mtr 命令输出到标准输出?

当我运行时sudo mtr 4.2.2.1,它在终端中循环运行。

我想保持与以下相同的格式:

Host                                                   
1. 192.168.15.1                                        
2. ???
3. 10.254.254.x                                      
4. 10.254.254.x                                     
5. core1.lon2.he.net                           
6. 10gigabitethernet2-1.core1.lon2.he.net
7. a.resolvers.level3.net
Run Code Online (Sandbox Code Playgroud)

但打印一次到标准输出。

在手册中,我只能看到以 XML、JSON、CSV 或 RAW 格式打印它的选项,但不能像上面那样以人类可读的格式打印一次。基本上我在使用traceroute命令时对类似的格式感兴趣,但对于mtr. 是否可以?

我试图以 as 运行sudo mtr -c1 4.2.2.1 | head -n20,但它破坏了终端,所以reset每次使用后我都必须使用它。有什么解决方法吗?

osx routing traceroute

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

netstat,正确列出连接

我有2台机器

A 192.168.0.40 (CentOS)
B 192.168.0.41 (Debian)

Gateway 192.168.0.2
Run Code Online (Sandbox Code Playgroud)

现在我确实使用firewallD设置了端口转发,从

A port 2245 
to 
B port 22
Run Code Online (Sandbox Code Playgroud)

从客户端 192.168.0.1 到机器 B 通过机器 A 建立的连接

在机器 A 上运行 netstat

# netstat -tulpane
Run Code Online (Sandbox Code Playgroud)

输出:

# netstat -tulpane
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      0          16330      1/systemd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          20510      1273/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0 …
Run Code Online (Sandbox Code Playgroud)

linux routing netstat firewalld

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

如何同时桥接 IPv4 和路由 IPv6?

我的 ISP 授予我一个IPv4 地址和一个 IPv6 前缀,该前缀已细分为几个网络。

              +--------------+
              |              | eth1
              |              |---------- <IPv6 network>
              |              |
         eth0 | Linux Router | eth2
ISP ----------|              |---------- <IPv6 network>
              |              |
              |              | eth3
              |              |---------- <IPv6 network>
              +--------------+
Run Code Online (Sandbox Code Playgroud)

碰巧的是,所连接的 IPv6 网络中的一个节点eth1将受益于拥有 IPv4 地址。

看来我希望路由器桥接IPv4 流量并路由IPv6 流量。不?

我听说过代理 ARP,但据我所知,我需要为路由器提供另一个 IPv4 地址,否则它不会尝试与 ISP 的 v4 流量进行交互,对吧?再说一遍,我只有一个 v4 地址。

我认为,普通桥接也不是一种选择,因为那是第 2 层,它无法区分 IPv4 流量和 IPv6 流量之间的区别。如果桥接 IPv4,也会桥接 IPv6,这会破坏当前的 IPv6 设置。

我是否被迫将流量 NAT 到专用网络,并从该网络为节点分配另一个地址?有更直接的选择吗?

routing bridge

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

为什么`route` 不接受 CIDR 格式的目标参数?

我注意到这两种命令格式给出了不同的结果:

$ sudo route -v add -net <IP> netmask 255.255.255.255 gw <gateway>
# succeeds without outputting text

$ sudo route -v add -net <IP>/32 gw <gateway>
SIOCADDRT: Invalid argument
Run Code Online (Sandbox Code Playgroud)

man 文件route清楚地说明 CIDR 格式应该可以工作:

路由 [-v] [-A family] 添加 [-net|-host] 目标 [网络掩码 Nm] [gw Gw]...

[...]

目标:目标网络或主机。您可以提供点分十进制或主机/网络名称中的 IP 地址。

那么我错过了什么?

注意:此外,verbose 选项在此命令上似乎无用。

networking routing

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

计算机如何为自己分配IP地址?IP地址不是由路由器分配给计算机的吗?

我可以做这个:

/sbin/ip addr add 172.17.0.12 dev eth0
Run Code Online (Sandbox Code Playgroud)

这种可能性与我的(显然过于简单和不真实的)分配 IP 地址如何工作的心理模型相冲突。

根据这个心智模型:

  • 计算机不会为自己分配 IP 地址;
  • 相反,计算机由管理它们连接到的网络的服务器分配 IP 地址。
  • 这将意味着家用 PC 的路由器、这些路由器的 ISP 服务器等等。

对我来说,给自己分配 IP 地址的想法似乎……毫无意义?那么如果计算机声明“这是我的 IP 地址”怎么办?IP 地址的目的是让路由器知道数据包应该转发到哪里。

在上面的例子中,当一台计算机为172.17.0.12自己分配一个私有网络地址时,只有当该私有网络的路由器知道并同意这台计算机拥有这个地址时,这才有意义。但在这种情况下,这不会是真的!那么任何数据包都可以eth0到达这台计算机吗?

routing ip ip-address

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

服务器不响应 ping - 收到 ICMP,但没有任何反应

我有一台服务器,有 2 个接口连接到dhcp两个不同的子网。这 2 个不同的子网通过 2 个不同的接口连接到同一交换机。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
23: enp10s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:00:ad:a4:e3:38 brd ff:ff:ff:ff:ff:ff
    inet 192.168.201.232/24 brd 192.168.201.255 scope global enp10s0
       valid_lft forever preferred_lft forever
25: enp11s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc …
Run Code Online (Sandbox Code Playgroud)

linux networking routing ping icmp

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

星号继续跟踪路由

我知道星号意味着路由器没有发回 ICMP 消息,说 TTL 为 0,我必须转储请求。

但有时在某些情况下,当我想检查我的数据包到服务器的路径时,在某些时候它会不断打印 * * * 并且永不结束。即使我将 -h 标志(或 -m 标志取决于您的操作系统)设置为 255,这是 TTL 的最大数量,它也会一直打印星号到最后,我的意思是我的数据包显然不需要 255 跳才能到达目的地。

这是 microsoft.com 的示例

tracert -h 255 microsoft.com

Tracing route to microsoft.com [40.76.4.15]
over a maximum of 255 hops:

  1   125 ms   127 ms   144 ms  10.10.10.232
  2   148 ms   151 ms   125 ms  149.202.66.253
  3   122 ms   129 ms   123 ms  10.50.60.61
  4   139 ms   128 ms   127 ms  10.17.130.102
  5   123 ms   125 ms   125 ms  10.73.0.6
  6   150 …
Run Code Online (Sandbox Code Playgroud)

networking routing traceroute

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

如何将所有流量从特定接口路由到特定网关而不是默认路由?

在我的机器上,我有两个接口:(wlan0默认路由)和tun0. 该tun0接口只是一个本地网络,它的 IP 范围是172.16.150.0/24,我的机器(机器 A)的 IP 地址是172.16.150.1,另一台机器(机器 B)的 IP 地址是172.16.150.128。我设置了一个 wifi 热点,它为我创建了另一个界面ap0。我想ap0通过机器B路由来自接口的所有流量(因此网关应该是172.16.150.128)。

$ ip route
default via 192.168.0.1 dev wlan0 proto dhcp src 192.168.0.179 metric 1024
172.16.150.0/24 dev tun0 proto kernel scope link src 172.16.150.1 metric 1024
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.179 metric 1024 
192.168.0.1 dev wlan0 proto dhcp scope link src 192.168.0.179 metric 1024 
192.168.12.0/24 dev ap0 …
Run Code Online (Sandbox Code Playgroud)

linux routing iproute

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

标签 统计

routing ×10

networking ×5

linux ×3

traceroute ×2

bridge ×1

firewalld ×1

icmp ×1

ip ×1

ip-address ×1

iproute ×1

iptables ×1

nat ×1

netstat ×1

osx ×1

ping ×1