私はLinuxに初めてアクセスし、使用してから約2ヶ月かかりました。そのため、Routeコマンドの使用に問題があります。
私の問題は、Windowsに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問題で一週間ほど閉じ込められていました。
答え1
2つの質問があります。 1つはタイトルの質問、もう1つはタイトルに隠された「実際の質問」です。
- WSL2でルーティングを変更する方法
- (実際)ネットワーク上の他のホストがWSL2インスタンスにアクセスできるようにする方法(例:
ping
など)
あなたの目標が実際に2番目の場合は、最初のものを無視することをお勧めします。 WSL2は、デフォルトでWindowsホストでHyper-V機能のサブセットを介してNATを実行する仮想ネットワークインターフェイスカード(vNIC)で実行されます。変更したい場合は、ブリッジインターフェイスに変更する必要があります。これは通常サポートされている構成ではありません。私はあなたに指摘します。この情報これを達成するための可能な方法はRedditで議論されていますが、その記事の注意事項を引用すると次のようになります。
奇妙なことに、これはサポートされておらず、承認されておらず、実験を通してのみ生成されました。いかなる保証も責任も提供されません。私はそれが今まで私に効果があったと約束します。ストレス、脱毛、アルコール乱用を引き起こす可能性があります。笑わないでください。
:-)
実際、私はそれを別の方法で表現したいと思います。それ可能これにより、WSL2からほとんど回復不能なネットワークエラーが発生したり、Windowsを再インストールする必要があります。 WSL2ネットワーキングはわずかに「脆弱」であるように見えますが、残念ながらスタック内の欠陥に関して見た問題は決して解決されないようです。
しかし、ネットワーク上の他のコンピュータからWSL2インスタンスにアクセスする方法に関する実際の質問については、Stackの他の場所にいくつかの回答を書きましたが、ここにはUnix / Linuxの回答はありません。
つまり、実際には「Linux/Unix」ではないので、ここで繰り返すことはありません。しかし、指摘します。この回答。
Kali Linuxの主な目標がネットワーキングを学ぶことであれば(多くの人がWSL2でKaliを使用しているのを見る)、WSL2はIMHOにとってあまり良い解決策ではありません。 WSL2は多くの点で優れていますが、仮想化されて実行されるため、ネットワーキングは非常に限られています。
つまり、socat
私がこの回答で提供するソリューションは、ネットワーク関連の内容を学ぶことができる楽しいネットワークハッキング技術です。私もそうでした!