标签 网关 下的文章

Linux 下查找网关或路由器 IP 地址的 5 种方法。

网关 是一个节点或一个路由器,当连接到同一路由器时,它允许两个或多个 IP 地址不同的主机相互通信。如果没有网关,它们将无法相互通信。换句话说,网关充当接入点,将网络数据从本地网络传输到远程网络。在本指南中,我们将看到在 Linux 和 Unix 中从命令行找到默认网关的所有可能方法。

在 Linux 中查找默认网关

Linux 中有各种各样的命令行工具可用于查看网关 IP 地址。最常用的工具是:ipssnetcat。我们将通过示例了解如何使用每种工具查看默认网关。

1、使用 ip 命令查找默认网关

ip 命令用于显示和操作 Linux 中的路由、网络设备、接口和隧道。

要查找默认网关或路由器 IP 地址,只需运行:

$ ip route

或者:

$ ip r

或者:

$ ip route show

示例输出:

default via 192.168.1.101 dev eth0 proto static metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.20 metric 100

你从输出中看到了 default via 192.168.1.101 这一行吗?它就是默认网关。我的默认网关是 192.168.1.101

你可以使用 -4 参数只显示 IPv4 网关

$ ip -4 route

或者,使用 -6 参数只显示 IPv6 网关

$ ip -6 route

如你所见,IP 地址和子网详细信息也一并显示了。如果你想只显示默认网关,排除所有其他细节,可以使用 ip route 搭配 awk 命令,如下所示。

使用 ip routeawk 命令打印网关地址,执行命令:

$ ip route | awk '/^default/{print $3}'

(LCTT 译注:wsl1 上无输出结果,正常 Linux 发行版无问题)

或者:

$ ip route show default | awk '{print $3}'

这将只列出网关 IP:

示例输出:

192.168.1.101

使用 ip 命令列出默认网关

你也可以使用 grep 命令配合 ip route 对默认网关进行过滤。

使用 ip routegrep 查找默认网关 IP 地址,执行命令:

$ ip route | grep default
default via 192.168.1.101 dev eth0 proto static metric 100

在最新的 Linux 发行版中,ip route 是查找默认网关 IP 地址的推荐命令。然而,你们中的一些人可能仍然在使用传统的工具,如 routenetstat。旧习难改,对吧?下面的部分将介绍如何在 Linux 中使用 routenetstat 命令确定网关。

2、使用 route 命令显示默认网关 IP 地址

route 命令用于在较老的 Linux 发行版中显示和操作路由表,如 RHEL 6、CentOS 6 等。

如果你正在使用较老的 Linux 发行版,你可以使用 route 命令来显示默认网关。

请注意,在最新的 Linux 发行版中,route 工具已被弃用,ip route 命令取而代之。如果你因为某些原因仍然想使用 route,你需要安装它。

首先,我们需要检查哪个包提供了 route 命令。为此,在基于 RHEL 的系统上运行以下命令:

$ dnf provides route

示例输出:

net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools
Repo        : @System
Matched from:
Filename    : /usr/sbin/route

net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools
Repo        : baseos
Matched from:
Filename    : /usr/sbin/route

如你所见,net-tools 包提供了 route 命令。所以,让我们使用以下命令来安装它:

$ sudo dnf install net-tools

现在,运行带有 -n 参数的 route 命令来显示 Linux 系统中的网关或路由器 IP 地址:

$ route -n

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG    100    0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

使用 route 命令显示默认网关 IP 地址

如你所见,网关 IP 地址是 192.168.1.101。你还将在 Flags 下面看到两个字母 UG。字母 U 代表接口是 “Up”(在运行),G 表示 “Gateway”(网关)。

3、使用 netstat 命令查看网关 IP 地址

netstat 会输出 Linux 网络子系统的信息。使用 netstat 工具,我们可以在 Linux 和 Unix 系统中打印网络连接、路由表、接口统计信息、伪装连接和组播成员关系。

netstatnet-tools 包的一部分,所以确保你已经在 Linux 系统中安装了它。使用以下命令在基于 RHEL 的系统中安装它:

$ sudo dnf install net-tools

使用 netstat 命令打印默认网关 IP 地址:

$ netstat -rn

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG        0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

使用 netstat 命令查看网关 IP 地址

netstat 命令与 route 命令的输出信息相同。如上输出可知,网关的 IP 地址为 192.168.1.191UG 表示网关连接的网卡是有效的,G 表示网关。

请注意 netstat 也已弃用,建议使用 ss 命令代替 netstat

4、使用 routel 命令打印默认网关或路由器 IP 地址

routel 是一个脚本,它以一种漂亮格式的输出路由。routel 脚本的输出让一些人认为比 ip route 列表更直观。

routel 脚本也是 net-tools 包的一部分。

打印默认网关或路由器 IP 地址,不带任何参数运行 routel 脚本,如下所示:

$ routel

示例输出:

         target            gateway          source    proto    scope    dev tbl
        default      192.168.1.101                   static            eth0 
    172.17.0.0/ 16                      172.17.0.1   kernel     linkdocker0 
   192.168.1.0/ 24                    192.168.1.20   kernel     link   eth0 
     127.0.0.0/ 8            local       127.0.0.1   kernel     host     lo local
      127.0.0.1              local       127.0.0.1   kernel     host     lo local
127.255.255.255          broadcast       127.0.0.1   kernel     link     lo local
     172.17.0.1              local      172.17.0.1   kernel     hostdocker0 local
 172.17.255.255          broadcast      172.17.0.1   kernel     linkdocker0 local
   192.168.1.20              local    192.168.1.20   kernel     host   eth0 local
  192.168.1.255          broadcast    192.168.1.20   kernel     link   eth0 local
            ::1                                      kernel              lo 
            ::/ 96     unreachable                                       lo 
::ffff:0.0.0.0/ 96     unreachable                                       lo 
    2002:a00::/ 24     unreachable                                       lo 
   2002:7f00::/ 24     unreachable                                       lo 
   2002:a9fe::/ 32     unreachable                                       lo 
   2002:ac10::/ 28     unreachable                                       lo 
   2002:c0a8::/ 32     unreachable                                       lo 
   2002:e000::/ 19     unreachable                                       lo 
   3ffe:ffff::/ 32     unreachable                                       lo 
        fe80::/ 64                                   kernel            eth0 
            ::1              local                   kernel              lo local
fe80::d085:cff:fec7:c1c3              local                   kernel            eth0 local

使用 routel 命令打印默认网关或路由器 IP 地址

只打印默认网关,和 grep 命令配合,如下所示:

$ routel | grep default
        default      192.168.1.101                   static            eth0

5、从以太网配置文件中查找网关

如果你在 Linux 或 Unix 中配置了静态 IP 地址,你可以通过查看网络配置文件查看默认网关或路由器 IP 地址。

在基于 RPM 的系统上,如 Fedora、RHEL、CentOS、AlmaLinux 和 Rocky Linux 等,网络接口卡配置存储在 /etc/sysconfig/network-scripts/ 目录下。

查找网卡的名称:

# ip link show

示例输出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether d2:85:0c:c7:c1:c3 brd ff:ff:ff:ff:ff:ff link-netnsid 0

网卡名为 eth0。所以让我们打开这个网卡文件的网卡配置:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

示例输出:

DEVICE=eth0
ONBOOT=yes
UUID=eb6b6a7c-37f5-11ed-a59a-a0e70bdf3dfb
BOOTPROTO=none
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.101
DNS1=8.8.8.8

如你所见,网关 IP 为 192.168.1.101

在 Debian、Ubuntu 及其衍生版中,所有的网络配置文件都存储在 /etc/network 目录下。

$ cat /etc/network/interfaces

示例输出:

auto ens18
iface ens18 inet static
        address 192.168.1.150
        netmask 255.255.255.0
        gateway 192.168.1.101
        dns-nameservers 8.8.8.8

请注意,此方法仅在手动配置 IP 地址时有效。对于启用 DHCP 的网络,需要按照前面的 4 种方法操作。

总结

在本指南中,我们列出了在 Linux 和 Unix 系统中找到默认网关的 5 种不同方法,我们还在每种方法中包含了显示网关/路由器 IP 地址的示例命令。希望它对你有所帮助。


via: https://ostechnix.com/find-default-gateway-linux/

作者:sk 选题:lkxed 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你可能已经知道如何在 Linux 中获得你的系统的 IP 地址。

但是你怎么知道你的路由器的 IP 地址呢?

我说的不是你可以通过连接到 “Show My IP” 这样的网站或简单地在 DuckDuckGo搜索“what is my ip” 获得的公网 IP。

我说的是默认网关 IP,你的 Linux 桌面所连接的地址。

你为什么需要它?嗯,如果你需要改变你的 Wi-Fi/网络的 SSID、密码或其他配置,你必须连接到它。简单的方法是在网页浏览器中输入路由器的 IP 地址,然后使用路由器的用户名和密码。

虽然我不能帮助你获得路由器的用户名和密码,但我肯定可以告诉你如何获得它的 IP。

一如既往,我将展示 GUI 和命令行两种方法。

方法 1:在 Linux 中使用 GUI 获取路由器的 IP 地址

这其实很简单。我在这里使用的是 Ubuntu 的 GNOME 桌面。如果你使用一些 其他桌面环境,截图可能会有所不同。

打开“ 系统设置 System Settings ”:

go to settings

现在进入 Wi-Fi 或“ 网络 Network ”(如果你使用的是有线的以太网连接)。在这里,点击你当前使用的网络旁边的小设置符号。

access network settings ubuntu

它将打开一个新窗口,里面有关于你的连接的一些细节,如 IP 地址、DNS 和 Mac 地址。你还可以在“ 安全 security ”标签下看到 保存的 Wi-Fi 密码

你还会看到一个名为“ 默认路由 Default Route ”的条目。这就是你要找的东西。你的路由器的 IP 地址。

default gateway ip ubuntu

你的系统和网络上的所有其他设备都使用这个 IP 地址连接到路由器。这就是大多数家庭的设置。

现在我已经展示了 GUI 的方法,让我们去看看终端的路线。

方法 2:在 Linux 命令行中获取路由器的 IP 地址

打开一个终端,使用以下命令:

ip route

它将显示几个条目。

~$ ip route
default via 192.168.1.1 dev wlp0s20f3 proto dhcp metric 600 
169.254.0.0/16 dev wlp0s20f3 scope link metric 1000 
192.168.1.0/24 dev wlp0s20f3 proto kernel scope link src 192.168.1.34 metric 600

第一行,以 default via 开头,给出了你网关的 IP。这是你的路由器的 IP 地址。

default route linux terminal

你可以看到,192.168.1.1 是我的路由器的 IP 地址。通常情况下,路由器的 IP 地址是子网的第一个数字。然而,这并不是一个硬性规定。我也见过有 x.y.z.30 地址的路由器。

额外技巧

正如 Samir 在评论中所分享的,你也可以(在 Debian 上)使用 ping 命令来获得网关 IP:

ping _gateway

ping gateway

以防你不知道,你必须 在 Linux 中使用 Ctrl+C 来停止一个正在运行的命令

我希望你在需要的时候能发现这个技巧是有用的。


via: https://itsfoss.com/router-ip-address-linux/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你应该意识到你的默认网关是你的路由器的 IP 地址。一般这是在安装过程中由操作系统自动检测的,如果没有,你可能需要改变它。如果你的系统不能 ping 自身,那么很可能是一个网关问题,你必须修复它。在网络中,当你有多个网络适配器或路由器时,这种情况可能会发生。

网关是一个扮演着入口点角色的路由器,可以从一个网络传递网络数据到另一个网络。

下面是一些可能帮助你收集到与该话题相似的一些信息。

这可以通过下面的四个命令完成。

  • route 命令:被用来显示和操作 IP 路由表。
  • ip 命令:类似于 ifconfig,常用于设置静态 IP 地址、路由 & 默认网关,等等。
  • netstat 命令:是一个命令行工具,用来显示网络连接相关的信息(包括入站和出站的),例如路由表、伪装连接、多播成员和网络接口。
  • routel 命令:被用来以好看的输出格式列出路由。

1)在 Linux 中如何使用 route 命令检查默认的网关或者路由 IP 地址?

route 命令被用来显示和操作 IP 路由表。

它主要用于通过一个已经配置的接口给特定的主机或者网络设置静态的路由。

当使用 add 或者 del 选项时,route 修改路由表。没有这些选项,route 显示路由表的当前内容。

# route
或
# route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         www.routerlogin 0.0.0.0         UG    600    0        0 wlp8s0
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp8s0

2)如何在 Linux 中使用 ip 命令检查默认网关或者路由 IP 地址?

IP 命令 类似于 ifconfig,常用于配置静态 IP 地址、路由 & 默认网关,等等。

ifconfig 命令因为多年没有维护而被遗弃了,即使它仍然在大多数 Linux 发行版上可获得。

ifconfig 命令已经被 ip 命令替代了,ip 命令是非常强大的,只要一个命令就能执行几个网络管理任务。

ip 命令工具附带在 iproute2 包中。在主要的 Linux 发行版中都默认预装了 iproute2 。

如果没有,你可以在你的终端中在包管理器的帮助下通过指定 iproute2 来安装它。

# ip r
或
# ip route
或
# ip route show

default via 192.168.1.1 dev wlp8s0 proto dhcp metric 600
192.168.1.0/24 dev wlp8s0 proto kernel scope link src 192.168.1.6 metric 600

3)如何在 Linux 中使用 netstat 命令检查默认网关或者路由 IP 地址?

netstat 代表 Network Statistics,是一个用来显示网络连接相关的信息(包括入站和出站)的命令行工具,例如路由表、伪装连接,多播成员和网络接口。

它列出所有的 tcp、udp 套接字连接和 unix 套接字连接。

它在网络中被用来诊断网络问题并判断网络中的流量总量来作为性能测量指标。

# netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         www.routerlogin 0.0.0.0         UG        0 0          0 wlp8s0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp8s0

4)如何在 Linux 中使用 routel 命令检查默认网关或者路由 IP 地址?

它用来以好看的输出格式列出路由信息。这些程序是一系列你可以用来替代 iproute2 的帮助脚本(routelroutef)。

routel 脚本以一种被认为更容易解释并且等价于 route 输出列表的格式来输出路由信息。

如果 routef 脚本不加任何参数,将仅仅简单的将路由表清空。小心!这意味着删除所有的路由,让你的网络不再可用。

# routel
         target            gateway          source    proto    scope    dev tbl
        default        192.168.1.1                     dhcp          wlp8s0
   192.168.1.0/ 24                     192.168.1.6   kernel     link wlp8s0
      127.0.0.0          broadcast       127.0.0.1   kernel     link     lo local
     127.0.0.0/ 8            local       127.0.0.1   kernel     host     lo local
      127.0.0.1              local       127.0.0.1   kernel     host     lo local
127.255.255.255          broadcast       127.0.0.1   kernel     link     lo local
    192.168.1.0          broadcast     192.168.1.6   kernel     link wlp8s0 local
    192.168.1.6              local     192.168.1.6   kernel     host wlp8s0 local
  192.168.1.255          broadcast     192.168.1.6   kernel     link wlp8s0 local
            ::1                                      kernel              lo
        fe80::/ 64                                   kernel          wlp8s0
            ::1              local                   kernel              lo local
fe80::ad00:2f7e:d882:5add              local                   kernel          wlp8s0 local
        ff00::/ 8                                                    wlp8s0 local

如果你只想打印默认的网关那么使用下面的格式。

# routel | grep default
        default        192.168.1.1                     dhcp          wlp8s0

via: https://www.2daygeek.com/check-find-default-gateway-or-router-ip-address-in-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:warmfrog 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Untangle Next Generation (NG) Firewall 10.1是一个基于Linux的网关,带有模块化的网络应用,比如垃圾邮件过滤,网页过滤,防病毒,防间谍软件,防入侵,VPN,SSL VPN,以及防火墙。它已经发布并可以下载了。

Untangle Next Generation (NG,下一代) Firewall曾经叫Ungangle网关,但是开发者们为了更好地展现它的功能,给它改了个名字。

NG防火墙现在是许多应用的集合,根据开发者的介绍,它们会并发地侦测网络数据,极大地减少了单独应用的系统资源消耗。

NG防火墙的特性包括一个专用的过滤器、高级带宽管理功能、支持加密VPN连接、按组或者按用户来控制,以及许多的支持服务。

Untangle Next Generation (NG) Firewall 10.1的亮点:

  • 用户不能下载应用程序,整个下载系统都被移除了,所有的应用都预装在平台中。
  • 支持基本的VRRP设置,在有多个Untangle服务器的时候支持热/冷高可用性。
  • 网络过滤器现在在阻止https链接的时候会显示一个阻挡页面,即使没有使用专用的https检查器。
  • 改善了网络过滤器的https阻挡功能(不带https检查器),在Untanble最新的版本中,https流量会先通过SNI分类。默认情况下,这个分发会根据从https网站获取的证书以及根据证书的CN来建立会话来分类,这个过程更加精确。
  • 支持根据列值或任意值过滤。
  • 支持通过“搜索”做做全局过滤。
  • 提高了广告过滤器的性能。

请查看官方的声明来获得完整的改动和改善列表。

下载Untangle Gateway Platform 10.1:


via: http://news.softpedia.com/news/Untangle-Next-Generation-NG-Firewall-Is-a-Complete-Linux-Solution-425968.shtml

译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出