Debian 9 虛擬網路適配器 - 適用於本地但不適用於遠端?
我正在嘗試在遠端外部伺服器和本地電腦之間建立 IPSEC 隧道。我的遙控器在數據中心有一個裸露的公共 IP4。我附近的伺服器有一個本地 NAT 隱藏 192.168.xy 地址,但是我已將所有需要的埠和協議轉發給它;UDP 500、UDP 4500、啊、esp,以及刪除路由器助手綁定。兩者都在執行 Debian 9 Stretch。我的路由器很好,已經解決了。遠端伺服器可以使用 nmap 在 ESP、AH 和 IKE 上看到本地。
在本地,我這樣做了(內部 100 範圍 IP 已更改)
modprobe dummy ip link add name dummy0 type dummy ip address add 100.64.1.1/32 dev dummy0
當我這樣做的時候
ifconfig
它顯示為這樣
dummy0: flags=195<UP,BROADCAST,RUNNING,NOARP> mtu 1500 inet 100.64.1.1 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 189 bytes 70950 (69.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
當我們去外部伺服器時,
modprobe dummy
它顯示在 lsmod 中:
root@host:~# lsmod | grep dummy dummy 16384 0 root@host:~#
,並且 ifconfig 命令在執行一組類似的後續命令後顯示沒有虛擬虛擬乙太網埠。
為什麼 dummy0 不顯示?
有什麼想法有什麼問題嗎?
$$ Edit- added 13/10/2018 22:18 BST $$ 為了清楚起見,我添加了此圖。這就是我要設置的: . Cyrus 複製的隧道已啟動。
最初選擇“虛擬”eth 適配器的原因如下所述:
https://wiki.strongswan.org/issues/722
“無需創建額外的介面(如 TUN)或別名(如 eth0:1,無論如何這是一個舊概念)。如果您想在 IPsec 隧道中使用私有 IP 地址,只需將它們添加到現有介面之一(eth0 或 lo)使用 ip addr add”。
因此,我需要將隧道 IP 端點綁定到適配器。我不想將它綁定到 eth0,因為它承載了伺服器的公共 IP。將它綁定到 lo 似乎是“錯誤的”。所以我最初選擇嘗試創建dummy0。
從具有許多不同發行版和平台的人的經驗來看,虛擬界面似乎間歇性地不可靠,並且很難在啟動時腳本中可靠地啟動。這也是我發現的。
https://bugzilla.redhat.com/show_bug.cgi?id=1120823
https://askubuntu.com/questions/994669/why-does-ip-link-add-not-work-in-rc-local
https://unix.stackexchange.com/questions/335284/how-can-we-create-multiple-dummy-interfaces-on-linux
https://community.nethserver.org/t/virtual-network-interface-for-virtual-machines/7728/10
我的工作解決方案創建了一個 TUN 設備。即使沒有數據包流過它,它也可以作為每個端點的 IP 地址的可靠綁定點。雖然這仍然不是推薦的做法,但我發現它提供了關於為什麼地址綁定到它的明顯洞察力,當你輸入
ifconfig
TUN 在系統啟動腳本中很容易且可靠。
在我的問題圖中,將 dummy0: 替換為 tun0: 以獲得有效的解決方案。
使用這樣的東西:
ip tuntap add name tun0 mode tun ip link set dev tun0 up ip address add 100.64.2.1/32 dev tun0 route add -net 100.64.1.0/24 gw 100.64.2.1
將 IP 端點綁定起來。
$$ Edit 17/09/2018 00:50 $$Cyrus 郵箱複製現在執行良好。