為學校俱樂部網路設定 LAN 網關 - “enp3s0 沒有子網路聲明”

為學校俱樂部網路設定 LAN 網關 - “enp3s0 沒有子網路聲明”

我是一名電腦老師,我正在嘗試為課後電腦俱樂部設定一個可以存取網路的「沙盒」網路。

我有一台舊電腦(Debian 11 安裝),有 2 個乙太網路接口,其中一個接口連接到標準學校網路。這用於將互聯網流量傳輸到第二個介面。第二個介面將為小型教室網路提供 dhcp 和網路。筆記型電腦和 Raspberry Pi 等裝置將連接到此交換機,有時也連接到 WiFi 接入點。

下面是物理設定。 enp2s0 連接到學校,enp3s0 連接到我的計算網路。

ser@computingClubBridge:~$ ip addr show
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: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 34:64:a9:24:01:55 brd ff:ff:ff:ff:ff:ff
    inet 10.202.248.250/21 brd 10.202.255.255 scope global dynamic enp2s0
       valid_lft 621249sec preferred_lft 621249sec
    inet 10.202.248.240/21 brd 10.202.255.255 scope global secondary enp2s0
       valid_lft forever preferred_lft forever
    inet6 fe80::3664:a9ff:fe24:155/64 scope link 
       valid_lft forever preferred_lft forever
3: enp3s0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:e0:4c:69:1f:cd brd ff:ff:ff:ff:ff:ff
    inet 169.254.151.221/16 brd 169.254.255.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:4cff:fe69:1fcd/64 scope link 
       valid_lft forever preferred_lft forever

我一直在關注本教程,但是其中的部分內容已經過時,因為它涉及 dhcp3,因此我已將其替換為 isc-dhcp-server。

https://www.debuntu.org/how-to-set-up-a-lan-gateway-with-dhcp-dynamic-dns-and-iptables-on-debian-etch-page-3-dhcp-server/

/etc/default/isc-dhcp-server 目前為:

Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="enp3s0"
INTERFACESv6=""

為了嘗試使子網正常工作,我將 /etc/dhcp 教程中的 dhcp.conf 檔案簡單化為:

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.5 192.168.2.200;
  option routers  router.lan.computing.local;
}

但是重新啟動 isc-dhcp-server 不起作用。系統日誌顯示以下訊息。

Nov 17 11:54:45 computingClubBridge dhcpd[8828]: No subnet declaration for enp3s0 (169.254.151.221).
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: ** Ignoring requests on enp3s0.  If this is not what
Nov 17 11:54:45 computingClubBridge dhcpd[8828]:    you want, please write a subnet declaration
Nov 17 11:54:45 computingClubBridge dhcpd[8828]:    in your dhcpd.conf file for the network segment
Nov 17 11:54:45 computingClubBridge dhcpd[8828]:    to which interface enp3s0 is attached. **
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: 
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: 
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: Not configured to listen on any interfaces!
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: 
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: If you think you have received this message due to a bug rather
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: than a configuration issue please read the section on submitting
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: bugs on either our web page at www.isc.org or in the README file
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: before submitting a bug.  These pages explain the proper
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: process and the information we find helpful for debugging.
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: 
Nov 17 11:54:45 computingClubBridge dhcpd[8828]: exiting.
Nov 17 11:54:47 computingClubBridge isc-dhcp-server[8812]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ...
Nov 17 11:54:47 computingClubBridge isc-dhcp-server[8833]:  failed!
Nov 17 11:54:47 computingClubBridge isc-dhcp-server[8834]:  failed!
Nov 17 11:54:47 computingClubBridge systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE
Nov 17 11:54:47 computingClubBridge systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Nov 17 11:54:47 computingClubBridge systemd[1]: Failed to start LSB: DHCP server.

我不知道有什麼方法可以進一步推進,據我所知,我已經使用範例 isc-dhcp-server 配置聲明了網路介面的子網,但是 DHCP 不想使用它?

答案1

顯然您已將 enp3s0 配置為自動配置,因此它嘗試透過 DHCP 取得 IP 位址但失敗;這就是它自動分配 169.254.151.221/16 位址的原因。為了將此介面用作 DHCP 伺服器,您首先需要在其上設定靜態 IP 位址,並且該位址必須位於您想要從其提供服務的 IP 位址範圍內。即,如果您希望學生的電腦取得 192.168.2.0-255 範圍內的 IP 位址,則必須使用此範圍內的位址來設定 enp3s0,例如 192.168.2.1/24。靜態 IP 位址。

相關內容