我正在使用raspbian
(kernel 4.1.19+
):我想在後者上設置相同的網卡以擁有兩個 IP(即192.168.1.9
和10.0.0.1
on wlan0
)。
我的/etc/network/interfaces
有幾個部分:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
auto wlan0:0
iface wlan0:0 inet static
address 10.0.0.1
netmask 255.255.255.255
gateway 192.168.1.1
看起來ifconfig
像:
wlan0 Link encap:Ethernet HWaddr ec:1a:59:0f:39:81
inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2236 errors:0 dropped:6 overruns:0 frame:0
TX packets:1776 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:411452 (401.8 KiB) TX bytes:417709 (407.9 KiB)
wlan0:0 Link encap:Ethernet HWaddr ec:1a:59:0f:39:81
inet addr:10.0.0.1 Bcast:10.0.0.1 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
我應該繼續使用別名嗎?
我這麼問是因為我讀到這些顯然是過時的但我不知道我wlan0
是否會支持那些(這是Belkin Components F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]
一個USB)。
如果我要刪除別名,是否應該鍵入相同的命令但刪除:0
介面末尾的 ?
答案1
它們wlan0:0
等別名已過時,因為它們是舊 Linux 核心上的一種解決方法,在舊 Linux 核心中只能為介面指派單一 IP 位址。更現代的核心允許為每個介面分配多個 IPv4(這實際上是 IPv6 的要求)。
這是核心的問題;實際的 WLAN 驅動程式與此無關。
因此,只需使用現代替換ip
而不是舊的ifconfig
,並且正如另一個答案中提到的,只需向該interace
節添加第二個 IP 而不是使用wlan0:0
.
只要您的唯一目的是在 Neatgear N600 上使用 Pi-Hole,並且您可以在 Neatgear 上使用自訂路由,並且您目前在 RaspPi 上執行的程式都沒有任何問題,那麼它應該可以工作。順便說一句,您會看到來自 Netgear 的帶有來源 IP 的 DNS 請求,因為 Netgear 本身運行 DNS 代理(快取 DNS 請求,使查找速度更快),就像 Pi-Hole 包含自訂代理程式一樣。
如果您遇到麻煩,另一種方法是在 RaspPi 上創建額外的網路命名空間,但 Pi-Hole 進入該命名空間,並從主命名空間路由到該命名空間並返回。這樣您就可以乾淨地分離 Pi-Hole 和其他 RaspPi 應用程式。
答案2
您可以簡單地sudo ifconfig wlan0:0 down
刪除auto wlan0:0
介面中的部分,然後將其添加到腳本inet 10.0.0.1 255.xxx.xxx.xxx
中ifup
。
就我個人而言,如果它工作正常,我認為它不會很快從核心中刪除,所以我只會讓它保持工作狀態,而且我不知道我可能使用dev 別名添加了哪些路由/轉送規則/等,也不知道介面是否支援多個ip位址等等...
但是,如果您想積極主動,請嘗試向真實介面添加第二個 IP(您可能必須將其關閉/關閉),然後sudo ifconfig wlan0 inet 128.66.1.1 255.255.0.0
檢查是否一切正常。如果您有任何問題,現在就可以解決它們,這樣您就可以免去幾年後更新並且別名不再受支援時進行故障排除的麻煩。
由你決定。