AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1003222
Accepted
Yetoo
Yetoo
Asked: 2020-02-16 11:28:35 +0800 CST2020-02-16 11:28:35 +0800 CST 2020-02-16 11:28:35 +0800 CST

无法使用静态 IP 和网关访问主机是 vlan - Debian 10

  • 772

我一直在尝试让静态 ip 在 Debian 10 安装上工作。服务器将在独立于任何其他网络的 VLAN 中运行。根据路由器接口的 VLAN id 为 3。路由器型号为 Pakedge RE-2。

路由器配置:

IP: 192.168.2.1
Netmask: 255.255.255.0
DHCP range: 192.168.2.2 - 192.168.2.10

以下是 VLAN 的配置目的:

VLAN IP: 192.168.0.1
Netmask: 255.255.255.0
DHCP range: 192.168.0.10 - 192.168.0.254

服务器静态 ip 为192.168.0.2. 以下是/etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
#iface eth0 inet static 
#   address 192.168.0.2
#   netmask 255.255.255.0
#   gateway 192.168.0.1

以下是interfaces.d/eth0:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

#source /etc/network/interfaces.d/*

# The loopback network interface
#auto lo
#iface lo inet loopback

# The primary network interface
#auto eth0
#allow-hotplug eth0
iface eth0 inet static 
    address 192.168.0.2
    netmask 255.255.255.0
    gateway 192.168.0.1

我可以使用 ping 域名和 IP 成功dhclient eth0,但它使用的是路由器 dhcp 范围内的 IP。 ip route之前dhclient eth0:

default via 192.168.0.1 dev eth0 onlink 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2

ip route之后dhclient eth0:

default via 192.168.0.1 dev eth0 onlink 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.3

'ip a' 之前的输出dhclient eth0

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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0b:db:be:9f:a5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20b:dbff:febe:9fa5/64 scope link 
       valid_lft forever preferred_lft forever

我不知道该怎么办。似乎网关可能是一个问题,因为 dhcp 可以工作,但是将其更改为路由器 ip(在 vlan 之外)似乎不起作用,而且无论我重新启动或重新启动networking守护程序多少次,它都不起作用。我还想补充一点,重新启动networking守护程序似乎没有检测到/etc/network/interfaces.d/eth0它重新启动时的变化,所以似乎我为测试所做的每一个更改都需要重新启动,这非常烦人。

编辑:我还想补充一点,以太网连接在我插入测试的其他计算机上正常工作(域和 IP 成功 ping 并且网站工作)(是的,即使在禁用 wifi 之后)。这似乎是我遇到问题的特定服务器。它在另一个分区上安装了 Windows XP Professional,但似乎也无法在那里自动通信。我会说这是一个硬件问题,但 dhcp 工作正常。可能,我正在测试的其他计算机正在使用 dhcp 并且只是连接回 VLAN 外的路由器,因为没有设置静态。我将在没有 dhcp 和 dhcp 的情况下重新测试以查看给定的 ip。

编辑2:我为vlan和路由器禁用了dhcp服务器,但我仍然无法在服务器上连接到互联网。我还想提一下,在禁用 dhcp 服务器之前我无法 ping 192.168.0.1(vlan ip 即网关),我仍然无法 ping 192.168.0.1。

编辑 3:感谢 AB,我能够手动使用 vlan 接口。命令如下: ip address delete 192.168.0.2/24 dev eth0; ip link add link eth0 name eth0.3 type vlan id 3; ip link set dev eth0.3 up; ip address add 192.168.0.2/24 dev eth0.3; ip route add default via 192.168.0.1 dev eth0.3

//Deletes the address assigned to eth0
ip address delete 192.168.0.2/24 dev eth0;

//Creates a link to eth0 with the vlan interface eth0.3 which is configured for vlan id 3
ip link add link eth0 name eth0.3 type vlan id 3; 

//Sets eth0.3 up
ip link set dev eth0.3 up; 

//Adds and associates 192.168.0.2/24 with eth0.3
ip address add 192.168.0.2/24 dev eth0.3;

//Configures the default route to go to the gateway 192.168.0.1 with the eth0.3 interface
ip route add default via 192.168.0.1 dev eth0.3;

但是,这并不能解决 ifupdown 配置文件的问题。AB 说 eth0 上的地址可能是导致 ifupdown 问题的原因。在评论中,有关于将 eth0.3 配置为接口配置中的接口的信息,这可能对某人有所帮助。我最终安装了 vlan 包,修改了 8021q,并创建了一个名为eth0.3in的文件,/etc/network/interfaces.d/其中包含以下内容:

auto eth0.3 
iface eth0.3 inet static 
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1
        vlan-raw-device eth0 

但是,如前所述,对我来说,这最终导致网络守护程序失败(重新启动后),因为 ifup 无法启动 eth0.3。如果有人有信息可以帮助解决这个问题,那就太好了。

编辑 4:当我auto eth0.3从eth0.3in 中删除时/etc/network/interfaces.d,网络守护程序在重新启动时不再失败并显示它处于活动状态,并且在重新启动后systemctl --failed显示没有守护程序无法启动;但是,ping 仍然会产生Destination Host Unreachable(即使在重新启动后)。

linux debian-buster static-ip
  • 2 2 个回答
  • 1581 Views

2 个回答

  • Voted
  1. DarkVex
    2020-02-17T11:16:12+08:002020-02-17T11:16:12+08:00

    我已经看到与@ab 的聊天,您能够使 VLAN 正常工作,但您仍然遇到用于启动和关闭接口的脚本的问题。要在启动时加载 8021q 模块,只需执行以下操作:

    echo 8021q | sudo tee -a /etc/modules
    

    然后尝试以这种方式设置 /etc/network/interfaces 文件:

    iface eth0 inet static
    
    auto eth0.3
    iface eth0.3 inet static
            address 192.168.0.2
            netmask 255.255.255.0
            gateway 192.168.0.1
            vlan-raw-device eth0
    
    • 0
  2. Best Answer
    Yetoo
    2020-02-24T11:33:54+08:002020-02-24T11:33:54+08:00

    我用 ifupdown 解决了这个问题。

    如果阅读本文的人没有阅读评论和其他答案,请安装vlan软件包('apt-get install vlan' 或dpkg -i <vlan package name.deb>(如果您离线并手动将 deb 传输到系统))和(我会在加载和做下一部分)通过 modprobe 8021q 加载 8021q 内核模块和/或放入8021q,/etc/modules-load.d/modules.conf以便在每次启动时加载它。然后像这样编辑以下网络配置文件(根据需要替换 ips 或其他配置选项):

    修改/etc/network/interfaces该工作:

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    source /etc/network/interfaces.d/*
    
    # The loopback network interface
    auto lo
    iface lo inet loopback 
    

    修改/etc/network/interfaces.d/eth0该工作:

    # The primary network interface
    auto eth0
    allow-hotplug eth0
    iface eth0 inet manual 
            pre-up ip link set dev $IFACE up
            pre-down ip link set dev $IFACE down
    

    修改/etc/network/interfaces.d/eth0.3该工作:

    # The vlan network interface
    auto eth0.3
    allow-hotplug eth0.3
    iface eth0.3 inet manual
            address 192.168.0.2
            netmask 255.255.255.0
            gateway 192.168.0.1
            vlan-raw-device eth0
    

    随后重新启动网络守护程序 ( systemctl restart networking) 应该会成功(使用 验证状态systemctl status networking)并且 ping 应该成功。验证重新启动(推荐)应该会产生相同的结果。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve