wsl2上kali linux上的del route
我是 linux 的新手,從我開始到現在只有大約 2 個月。所以我在使用路由命令時遇到了問題。
我的問題是我在 Windows 上的本地 IP 地址與我在 wsl 上的本地 IP 地址不同。但是,我設法添加了另一條路由,但不是預設路由,因此我嘗試將 172.20.128.0 或 192.168.1.0 設為預設/主路由,以便其他設備可以 ping 我,以及其他類似的東西。
ipconfig(在 Windows 上)
Carte Ethernet vEthernet (WSL) : Suffixe DNS propre à la connexion. . . : Adresse IPv6 de liaison locale. . . . .: fe80::c181:db91:a200:5517%60 Adresse IPv4. . . . . . . . . . . . . .: 172.20.128.1 Masque de sous-réseau. . . . . . . . . : 255.255.240.0 Passerelle par défaut. . . . . . . . . :
Carte réseau sans fil Wi-Fi : Suffixe DNS propre à la connexion. . . : home Adresse IPv6 de liaison locale. . . . .: fe80::2143:d5bf:e724:d291%5 Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.33 Masque de sous-réseau. . . . . . . . . : 255.255.255.0 Passerelle par défaut. . . . . . . . . : 192.168.1.1
路由(wsl 上的 kali-linux)
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default lelievre-pc.msh 0.0.0.0 UG 0 0 0 eth0 172.20.128.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
ifconfig(wsl 上的 kali-linux)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.134.143 netmask 255.255.240.0 broadcast 172.20.143.255 inet6 fe80::215:5dff:feab:4d29 prefixlen 64 scopeid 0x20<link> ether 00:15:5d:ab:4d:29 txqueuelen 1000 (Ethernet) RX packets 5898 bytes 1405127 (1.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 35 bytes 2414 (2.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip 地址(wsl 上的 kali-linux)
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: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 7e:1c:de:e7:d3:ac brd ff:ff:ff:ff:ff:ff 3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 1a:65:36:61:31:f6 brd ff:ff:ff:ff:ff:ff 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:ab:4d:29 brd ff:ff:ff:ff:ff:ff inet 172.20.134.143/20 brd 172.20.143.255 scope global eth0 valid_lft forever preferred_lft forever inet 192.168.1.69/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:feab:4d29/64 scope link valid_lft forever preferred_lft forever 5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000 link/sit 0.0.0.0 brd 0.0.0.0
感謝您閱讀並嘗試幫助我我已經被整個 ping 問題困擾了大約一周
你真的有兩個問題——標題中的一個,然後是隱藏在其中的“真正的”。
- WSL2下如何更改路由
- (真實)如何允許網路上的其他主機訪問 WSL2 實例(例如
ping
,等)如果您的目標真的是第二個,那麼老實說,我建議您忽略第一個。WSL2 在虛擬網卡 (vNIC) 上執行,預設情況下,它在 Windows 主機下執行 NAT(通過 Hyper-V 功能的子集)。要修改它,您需要將其更改為橋接介面。這不是通常支持的配置。我會在 Reddit 上向您指出有關可能做到這一點的方法的資訊,但引用該文章中的警告:
這是可笑的,未經支持,未經批准,僅通過實驗產生。不提供任何保證或責任。我只保證到目前為止它對我有用。可能導致壓力、脫髮或酗酒。不要嘲諷。
:-)
實際上,我會換一種說法。這可能會導致 WSL2 中幾乎無法恢復的網路故障,以至於需要重新安裝 Windows。WSL2 網路似乎有點“脆弱”,可悲的是,我在 Stack 上看到的一些關於故障的問題似乎從來沒有最終得到解決方案。
但是對於如何從網路上的其他機器訪問 WSL2 實例的真正問題,我已經在 Stack 的其他地方寫了幾個答案,但這裡從來沒有針對 Unix/Linux 的答案。
也就是說,我不會在這裡再重複一遍,因為它真的不是“Linux/Unix”的東西,但我會告訴你這個答案。
請注意,如果您使用 Kali Linux 的主要目標是學習網路(我看到很多人在 WSL2 上使用 Kali),那麼恕我直言 WSL2 並不是一個很好的解決方案。WSL2 在很多方面都很出色,但它的網路非常有限,因為它執行的是虛擬化的。
也就是說,
socat
我在那個答案中提供的解決方案是一個有趣的網路黑客,你可能會從中學到一些與網路相關的東西——我知道我做到了!