スキップしてメイン コンテンツに移動

投稿

4月, 2023の投稿を表示しています

WSL2(Windows10 pro)に固定IPv4と固定IPv6アドレスを設定する(ただしmac アドレスは非固定)

前回の方法 とは違いmac addressは非固定ですが、仮想スイッチ(WSL)の接続種類を外部ネットワークにし/etc/wsl.confの追加と/etc/network/interfaces.d/eth0を記述するだけでIPv4/IPv6ともにWindows10 Proで固定させたのでそのメモです。なお繰り返しますがmac addressは非固定なのであまり実用的ではないやり方ですが...Winowd10のWSL2でアドレスを固定するやり方はほとんど見当たらなかったのでとりあえず挙げてみました。なお動作確認環境はWSL2がDebian11/Bullseye、Windows10はPro 22H2 build 19045.2913です。 まず最初にWSL2が使う仮想スイッチの接続種類をHyper-Vマネージャーにある仮想スイッチマネージャーにて内部から外部に変更します。 続いて、WSL2上の/etc/wsl.confを以下のように編集します。 [boot] systemd=true [network] nenerateResolvConf = false 最後に、/etc/network/interfaces.d/eth0を以下のようにします。 auto eth0 allow-hotplug eth0 iface eth0 inet static pre-up ip route del default pre-up ip addr del `ip a | grep 172 | awk '{print $2}'` dev eth0 pre-up echo nameserver 1.1.1.1 > /etc/resolv.conf pre-up echo nameserver 1.0.0.1 >> /etc/resolv.conf address 192.168.1.99 netmask 255.255.255.0 gateway 192.168.1.23 iface eth0 inet6 static address 2400:aaaa:bbbb:cccc::99/64 gateway 2400:aaaa:bbbb:cccc::1 やっていることは単純で、systemdを起動させるよう

x64 Linux ルータのIPoE(map-e by iptables)環境でGame ConsoleをNAT越えさせる -- その2 fullconenat module 追加無しの場合

スクリプトの見直しだけではタイプAにはできませんでしたが、fullcone nat カーネルモジュール追加なしでのiptablesを使ったDebina/LinuxルータでのNAT越え対応(Nintendo SwitchではタイプB, PSではタイプ2)の map-e 構成についてです。 以前の構成と同様、ルータがDebian GNU/Linuxで、回線がフレッツ光クロス+OCNバーチャルコネクト(map-p)であること以外特に変わりのない構成です。 早速ですが、設定です。以下のスクリプトを、/usr/local/sbin/にipt.sh(chmod +x)としておき、/etc/rc.localから呼び出すようにしています。なおパラメータは今回も 例の計算機 で算出しています。 #!/bin/bash PLEN=56 PFX=2400:4050:5c71:af00:: GWS=23 BR='2001:380:a120::9' CE='2400:4150:7c20:300:99:fcf0:8000:300' IP4='153.241.113.198' PSID='47' WANDEV='enp1s0f0' LANDEV='enp1s0f1' TUNDEV='tun0' ## TYPE: [ OCN | V6P ] TYPE='OCN' if [ "$TYPE" = "OCN" ]; then \ lp=63 skip=0 lp=`expr $lp - $skip` nxps=1024 # next port set elif [ "$TYPE" = "V6P" ]; then \ lp=15 skip=0 lp=`expr $lp - $skip` nxps=4096 # next port set else echo Unknown TYPE: $TYPE exit 1 fi ip -6 addr add $CE dev $WANDEV ip -6 addr add $PFX$GWS/$PLEN dev

WSL2(Windows11 pro)にてDHCP経由でIPv4とIPv6アドレスを設定する

なにもしていないWSL2ではIPアドレスがコロコロかわり不便でした。仕様なんだろうとずっと思いこんでいましたし、IPv6も設定できないわけではないが面倒だとも... ところが最近になって、wsl2でバインドするインターフェースとmac addressを指定することができる、IPv6を設定できるというのを知りました。ただしWindows11のみですが...ということは、DHCP経由ではありますが、固定IPを設定できるのでは?とおもいやってみたところ、Windows11ではIPv4/IPv6ともに固定IPを割り当てできたので備忘録として挙げてみました。 2023/04/26追記:なお、IPv6についてはwsl2でsystemdを起動させ/etc/network/interfaces.d/eth0経由でdhcpにてアドレス取得するようにしました。systemdをwsl2で起動させるには、/etc/wsl.confを作成し、以下のようにします。 [boot] systemd=true 2023/05/16追記:/etc/network/interfaces.d/eth0は今回は以下のようにしました。 auto eth0 iface eth0 inet6 dhcp 次に、仮想スイッチ作成のため、HyperVマネージャを立ち上げます。続いて仮想スイッチマネージャを開きます。ここで新規に仮想スイッチを作成するのですが、 1. 今回は外部仮想スイッチを作成するので、”どの種類の仮想スイッチを作成しますか”では”外部”を選択して仮想スイッチを作成します。 2. 仮想スイッチのプロパティーで名前を今回は WSL2_EXTNL とし、外部ネットワークで接続させたいインターフェースを選択し、OKボタンをクリックします。 仮想スイッチの設定は以上です。つづいて.wsconfigを作成します。場所はMyUserがユーザー名だとしたら、C:\Users\MyUser\.wslconfigで作成します。作成にはnotepadが使えますので以下のようにします。 [wsl2] networkingMode=bridged vmSwitch=WSL2_EXTNL macAddress=aa:bb:cc:dd:ee:ff dhcp=true ipv6=true つついてdh

x64 Linux ルータのIPoE(map-e by nftables)環境でGame ConsoleをNAT越えさせる

Linuxルータでiptablesを使った場合、Game Console(Nintendo Switch)のナット判定をタイプAまたはタイプBにすることはできたのですが、nftablesでゲームコンソールをNAT越えさせるという記事は他に見当たりません。所謂ニチバンベンチはクリアできても、ナット判定はタイプDとなってしまい、NAT越えできない場合がほとんどです。 そこで、iptablesでナットタイプBになる例を参考にしながら試行錯誤した結果、Nintendo SWITCHはタイプB、PSはタイプ2にすることができたので備忘録として挙げてみました。 当方の環境はフレッツ光クロスでOCNバーチャルコネクト(プロバイダはぷらら)です。(つまり、DHCPv6-PD + map-e OCNバーチャルコネクトで、他のフレッツ光ではひかり電話あり+OCNバーチャルコネクトの環境と同じです。)早速ですが、/usr/local/sbin/nft.shとして以下のようにしました。なおパラメータは 例の計算機 で算出しています。 #!/bin/sh PFX=2400:4050:5c71:af00:: PLEN=56 GWA=1 BR='2001:380:a120::9' CE='2400:4050:5c71:af00:99:f171:c600:2f00' IP4='153.241.113.198' PSID=47 #対抗ルータのアドレスはradvdumpで確認できます。 FGW=fe80::aaaa:bbbb:cccc:dddd WANDEV='enp1s0f0' LANDEV='enp1s0f1' TUNDEV='tun0' # TYPE: [ OCN | V6P ] TYPE='OCN' if [ "$TYPE" = "OCN" ]; then \ lp=63 nxps=1024 # next port set elif [ "$TYPE" = "V6P" ]; then \ lp=15 nxps=4096 # next port set else ech