Networking

網路介面 VLAN 靜態定址

  • August 17, 2017

我一直在嘗試用 Ubuntu 16.04 Dabian 版本配置靜態 IP 地址。圖中的網路如下

我一直未能在客戶端和 HTTP 伺服器之間進行 ICMP(ping 回顯)。有沒有辦法通過路由器 192.168.1.11 和 192.168.1.12 連接伺服器和客戶端?

我目前對 192.168.1.11 和 192.168.1.12 的網路介面配置可以在 192.168.0.16 和 192.168.2.16 之間進行 ICMP,但不能從 192.168.1.12 到 192.168.0.17,也不能從 192.168.1.11 到 192.168.2.17:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback


# adding vlan 201 on eno1 - static IP address
auto eno1.201
iface eno1.201 inet static
       address 192.168.1.12
       netmask 255.255.255.0
       vlan-raw-device eno1
       post-up ip route add default dev eno1.201

# Adding vlan 101 on eno1 - Static IP address
auto eno1.101
iface eno1.101 inet static
       address 192.168.2.16
       gateway 192.168.1.10 # switch IP address
       netmask 255.255.255.0
       vlan-raw-device eno1

我的客戶靜態地址:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
       address 192.168.2.17
       netmask 255.255.255.0
       network 192.168.2.0
       gateway 192.168.2.16

注意:當我使用 IPsec 時,我可以連接伺服器和客戶端,但是當我停止 IPsec 時,它們不會相互 ICMP。

編輯: 基本交換機埠配置 在此處輸入圖像描述

讓我快速解釋一下 VLAN 是如何線上上工作的:普通的乙太網數據包沒有 VLAN id 的特殊欄位。另一方面,VLAN 數據包是後來的擴展,它使用新的數據包格式,由舊格式的所有欄位加上附加標籤組成,如802.1Q中所定義。所以在同一根線上,你可以有未標記和標記的數據包,解釋是它們“只是相互過去”並在物理連接之上形成不同的“虛擬連接”。

那麼,當您定義一個帶有標記和未標記埠的 VLAN 組時,您的交換機會做什麼VID=100?如果交換機在埠 1-4 上接收到帶有標籤的數據包100,它會將它們(具有相同標籤)轉發到埠 1-4(中的其他號碼),然後剝離標籤並將它們轉發到埠 5-6。埠 1-4 上的所有其他標記和未標記數據包都將被忽略。當它在埠 5-6 上接收到 untagged 數據包時,會將它們 untagged 轉發到 5-6 中的另一個埠,然後將其標記100並轉發到埠 1-4。在埠 5-6 上接收到的所有標記數據包都將被忽略(對於此 VLAN)

類似的VID=201:如果它在埠 5-6 或 10-11 上接收到標記為的數據包201,它將把它們轉發到 5-6,10-11 和未標記的 7-9 等中的其他埠。

不做的是以某種方式在“不同的 VLAN 之間”轉發數據包:100在埠 1-4 上標記和接收的數據包重新標記為201“在埠 5-6”上並轉發到VID=201VLAN,然後再次重新標記為 101並轉發到埠 12-15。

在交換機中分配的 IP 地址在其中根本沒有任何作用:交換機在 OSI 級別 2 上工作,其中沒有 IP 地址。

DHCP 問題也完全不相關,這純粹是網路問題。

因此,在您目前的配置中,VLAN 100 和 VLAN 101 之間沒有連接(除非您在某處定義了路由表),它們是完全獨立的,因此伺服器和客戶端無法相互 ping 通。

如果你能解釋你想用你的網路配置實現什麼,我可以嘗試提出一個解決方案。類似的東西:

客戶端和伺服器應始終通信,左側筆記型電腦應僅與伺服器通信而不與客戶端通信,右側筆記型電腦應僅與客戶端通信而不與伺服器通信,筆記型電腦應僅通過 IPsec 進行通信。所有電腦都只有一個乙太網插頭。

通常在這種情況下,您會為每個“單獨的”連接使用一個 VLAN,因此每台電腦都將成為多個 VLAN 的一部分。請注意,這純粹是管理性的,並不安全:沒有什麼可以阻止任何“流氓”電腦假裝它也在其他 VLAN 上。所以請提及安全問題,如果有的話。

引用自:https://unix.stackexchange.com/questions/381990