标签: route

netplan 生成:`gateway4` 已被弃用,请改用默认路由

使用时netplan generate我不断收到错误消息:

gateway4已弃用,请改用默认路由。

对于 netplan 中的静态 IP 地址分配,我始终使用以下结构:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      dhcp6: false
      addresses:
      - 192.168.10.10/24
      gateway4: 192.168.10.1
      nameservers:
      addresses: [192.168.10.1]
Run Code Online (Sandbox Code Playgroud)

显然gateway4是引用了gateway4: 192.168.10.1,但是我们如何解决它呢?

route netplan

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

路由表是按什么顺序分析的?

在我的 PC 上,我必须遵循路由表:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
Run Code Online (Sandbox Code Playgroud)

我不明白它是如何分析的,我的意思是自上而下还是自下而上?

如果从上到下进行分析,那么即使 IP 目的地是 192.168.1.15,所有内容也将始终发送到我家中的路由器;但是我知道(错误地?)是,如果 PC 在我的同一个本地网络中,那么一旦我通过广播消息恢复了 MAC 目的地,那么我的 PC 可以直接将消息发送到目的地。

networking table route

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

如何添加ipv6默认路由

我有以下设置

           Linux 1                      Linux 0
    eth1            eth0-------------------eth0
   14.14.14.80      19.19.19.20             19.19.19.10
   2005::5/64       2004::3/64              2001::3/64 
Run Code Online (Sandbox Code Playgroud)

从Linux0,我能够ping通14.14.14.80 or 19.19.19.2019.19.19.20加入作为默认GW),也对Linux1ipv4启用转发。对于ipv6,我无法添加2004::3/64为默认 ipv6 网关Linux0。我试过

ip -6 route add default via 2004::3
Run Code Online (Sandbox Code Playgroud)

ip -6 route add default via 2004::
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

RTNETLINK answers: No route to host
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

ipv6 route

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

GNU/Linux 相当于 BSD 的“route get ...”是什么?

BSDroute命令有一个功能,可以显示为给定主机选择的路由。例如:

/Users/mhaase $ route get google.com
   route to: iad23s07-in-f8.1e100.net
destination: iad23s07-in-f8.1e100.net
    gateway: 10.36.13.1
  interface: en0
      flags: <UP,GATEWAY,HOST,DONE,WASCLONED,IFSCOPE,IFREF>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 
Run Code Online (Sandbox Code Playgroud)

如果我手动弄乱路由表以确保路由规则按预期工作,我偶尔会发现这很有用。

GNU 版本的 route 没有这个相同的“get”子命令。GNU/Linux 有什么等价物或替代品吗?

linux ip route

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

iptables --set-mark - 通过不同的接口路由不同的端口

小故事,
3个接口,eth0(局域网),eth1(ADSL),eth2(4G)。
eth0 -> eth1:有效
(端口 80、443、4070) eth0 -> eth2:不会发生


这是这个想法的图形表示:

端口 80 和 443 通过 eth2
ant 其余通过 eth1
在此处输入图片说明

网络方案:

eth0: -ip 10.0.0.1 -net 10.0.0.0/8 -gw 10.0.0.1 (the servers own intf) 
eth1: -ip 192.168.1.74 -net 192.168.1.0/24 -gw 192.168.1.254 
eth2: -ip 192.168.1.91 -net 192.168.0.0/24 -gw 192.168.0.1 
Run Code Online (Sandbox Code Playgroud)






我认为,这个新脚本将 22 和 4070 重新路由到正确的表。
但是,到达该表后,它不会重新路由到 eth2。




此脚本有效,除了 22 和 4070!

(端口 80 没有注释并且可以工作,但是通过 eth1 是错误的。)

modprobe iptable_nat
modprobe ip_conntrack

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT …
Run Code Online (Sandbox Code Playgroud)

ubuntu routing iptables route

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

为什么我无法ping通谷歌?

我无法 ping google.com (unknown host)。但是我可以ping通IP地址。我试图 ping 谷歌的 IP 地址,但它不起作用。

  • resolv.conf

    nameserver 8.8.8.8 nameserver 209.139.209.33 
    
    Run Code Online (Sandbox Code Playgroud)
  • ifconfig -a

    eth0      Link encap:Ethernet  HWaddr 00:50:56:xx:xx:xx
              inet addr:10.2.0.63  Bcast:10.2.15.255  Mask:255.255.240.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:638762803 errors:0 dropped:0 overruns:0 frame:0
              TX packets:231307131 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:55502371533 (51.6 GiB)  TX bytes:23436883491 (21.8 GiB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:56011078 errors:0 dropped:0 overruns:0 frame:0
              TX packets:56011078 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 …
    Run Code Online (Sandbox Code Playgroud)

ip dns internet ping route

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

如何删除IP路由?

如何从 UNIX 服务器中删除如下所示的路由?

122.252.228.38/255.255.255.255  122.252.228.38     UH        0  lan4       4136
Run Code Online (Sandbox Code Playgroud)

networking route

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

在 Debian 上设置持久路由表

我通过删除一个规则修改了我的路由表,并为我的第二个接口 eth1 添加了两个新规则:

route del -net 10.1.2.0 netmask 255.255.255.0
route add -host 10.1.2.51 eth1
route add -host 10.1.2.52 eth1
Run Code Online (Sandbox Code Playgroud)

我希望规则在重启后继续存在。我可以编写一个简单的rc脚本来删除1条规则并插入2条新规则,但我想知道是否有办法配置ifconfig,而不是在启动时为接口(eth1)添加路由规则,甚至更好,指定应添加哪些规则。

什么是干净的方式来做到这一点?是否ifconfig允许我为路由指定自定义规则?

networking debian route

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

添加永久路线的最佳方法是什么?

我需要添加一个重启后不会被删除的路由。我阅读了这两种方法:

添加 ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX到文件 /etc/network/interfaces

或者

使用以下命令创建文件/etc/network/if-up.d/route

#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
Run Code Online (Sandbox Code Playgroud)

并使其可执行:

chmod +x /etc/network/if-up.d/route
Run Code Online (Sandbox Code Playgroud)

所以我很困惑。最好的方法是什么?

rhel debian centos route

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

如何在 Linux 中让所有流量通过一个接口

我有一个自己编写的接口 tun0(基于TUN/TAP)输出它接收到的内容。
我需要系统的所有流量都流经这个接口。
接口的作用是:

  1. 找出可能被审查的数据包并通过隧道传输它们。
  2. 原封不动地通过所有其他交通。

正如您猜想的那样,我正在尝试构建一个反审查工具。
关于隧道的决定必须在 tun0 进程中进行,
因为只有在那里我们才能使用受信任的 DNS。

我需要你的帮助来告诉我如何让所有流量都通过一个自写的接口 tun0。如果 tun0 需要更改,我会要求您提供此类更改。

以下是我尝试使所有流量通过 tun0 并失败(ping 失败)的方法。

编译

  1. gcc tun0.c
  2. sudo ./a.out

配置

  1. sudo ip addr add 10.0.0.1/24 dev tun0
  2. 创建表约翰

    $ cat /etc/iproute2/rt_tables 
    #
    # reserved values
    #
    255     local
    254     main
    253     default
    0       unspec
    #
    # local
    #
    #1      inr.ruhep
    
    200 John
    
    Run Code Online (Sandbox Code Playgroud)

顺序很重要:

  1. sudo ip rule add from all lookup John
  2. sudo ip route add default dev tun0 table John …

linux ip iptables route

13
推荐指数
1
解决办法
7362
查看次数

标签 统计

route ×10

ip ×3

networking ×3

debian ×2

iptables ×2

linux ×2

centos ×1

dns ×1

internet ×1

ipv6 ×1

netplan ×1

ping ×1

rhel ×1

routing ×1

table ×1

ubuntu ×1