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

投稿

ラベル(debian)が付いた投稿を表示しています

iPXE経由で iSCSI root にて Debian を セキュアブート

セキュアブートに対応した iPXE バイナリは公式サイトにはないのですが、調べていると サイン済みのバイナリが broadcom 社の KB に あると ipxe.org の bbs に記載がありました。該当の kb は こちら です。早速、この kb にリンクのある "64bit_ipxe_efi.zip" をブラウザでダウロードし、tftp/http サーバー上で解凍、dhcp サーバを設定して、tftp で取得・起動させた所、起動はするものの次のステージへは、特定のhttp ポート ( 4433 ) の固定パス ( Altiris/iPXE/GetPxeScript.aspx ) を参照するため、何もしていないと connection がリセットされてしまいます。 なので、apache2を 4433でもリッスンするようにして Altiris/iPXE/GetPxeScript.aspx を配置し、中身を shell が起動するだけの menu.ipxe にしたところ、シェルに入れました。 これでOKだと思ったのですが、実はここからが難題でした。 というのも、サイン済みの bootnetx64.efi や linux カーネルをブートしようとしても、exec format error になり起動できません。機種によっては wimboot すら起動しません。それでも CDぐらいはブートできるだろうと思い直し、インストーラの iso ファイルの起動を sanboot コマンドにて試してみたところ、起動はするものの今度はインストーラまで到達できません。ただ、grubとカーネルまでは起動はしているので、iso ファイルを自前で作成し、前回のように nfsroot で立ち上げた所、システムも起動できましたが、isoファイルの作成だと grubのメニュー項目が read only なので、編集したい場合は iso ファイルを再作成しなければならず、実用的ではないなとこれはボツネタにしました。 そこで気を改めて r/w 可能な iSCSI で試してみることにしました。まず、始めは netinst cd イメージを targetcli で エクスポートした所、isoファイルの sanboot とほぼ同じで、grubとカーネルまでは起動できますが、cdr...

フレッツ光クロスにて ネット接続ができないDebian 12 NetInstで最小インストール後、改めてネットワークの設定を行う

フレッツ光クロス(enひかりクロス xpass 固定ip)の場合で、ルータを構築するためにDebian 12でnetinstを行おうと思っても、そのままだと IPv6 アドレスの取得が通らず、netinst cdに入っている本当に最小限のインストールしかできません。 この場合 ssh のインストールもできませんし、もちろん他のパッケージもインストールできません。そこで最小インストール後にネットワーク接続して追加パッケージのインストールができ、仮運用ですがLAN側のクライアントからも接続できるるようになるまでをメモ代わりに挙げておくことにしました。 まずは /etc/sysctl.confの設定(変更箇所のみ)です。(なおDebianは最小インストールの場合、sudoがインストールされないので、su コマンドでインストール時に設定した root のパスワードを指定すると root になれます。) net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 変更したら sysctl -p としてください。 つづいいてネットワークインターフェースの設定です。WAN側(今回はenp1s0f1)は以下のようにします。 auto enp1s0f1 iface enp1s0f1 inet6 dhcp accept_ra 2 request_prefix 1 pre-up ip link set dev enp1s0f1 up ここで、ifup enp1s0f1としてください。(一度でうまくいかない場合は何度か繰り返します。)そうすると 2xxxで始まる prefixを取得し表示しているはずなので、これを書き留めておきます。なお ctrl+alt+Fxの組み合わせでvt(画面)を切り替えることができるので必要に応じて切り替えて下さい。 続いてLAN側(今回はenp1s0f0)です。こちらは以下のようにします。 auto enp1s0f0 iface enp1s0f0 inet static address 10.1.1.23 netmask 255.255.255.0 iface enp1s0f0 inet6 static address 2001:db8:a2a0:3c00::1 net...

フレッツ光クロス コラボ(enひかりクロス)でv6プラスの固定IPにてDebianを使い接続

フレッツ光クロスで固定IPを使いたいと思い、調べたところコラボ(enひかりクロス)ですが、v6プラスの固定IPが利用できるようだったのでこちらに転用しました。2023/04/22にNTTに転用番号の払い出しを申請し取得、前のプロバイダにも月末解約を申し込み、その日のうちにenひかりに申し込んだところ翌日の連絡で開通予定日が5/2となったのですが、IPoE接続の切替えタイミングがずれ、前のプロバイダに問い合わせたところIPoEの切り替えは2-3日かかるとのことで最終的に5/3の午前中に切り替わり開通しました。 結果、"プレフィクス+インターフェースID"(CEアドレス)はLAN/WANのいずれに割り振ってもDebianルータでIPv6/IPv4ともに問題なく接続できたので備忘録として挙げてみました。構成は以下の通りです。 注意点としては "ONU直下にルータを置いている" というところです。このためWAN側にはRAではPrefixは降りてきません。(V6プラスの固定IP接続に関する各社のコンフィグ例で一部ONU直下ホームゲートウェイ直下のいずれかの明記もなく、RAからPrefixを取得することを前提としている設定例があり、少し混乱しました。) 早速ですが設定です。なお環境はDebian 12/Bookworm(testing)で行いました。まず、/etc/network/interfaces.d/enp1s0f0(WAN側)は以下の通りです。 auto enp1s0f0 iface enp1s0f0 inet6 dhcp accept_ra 2 request_prefix 1 enp1s0f1(LAN側)は以下の通りです。 auto enp1s0f1 iface enp1s0f1 inet static address 10.1.1.1 netmask 255.255.255.0 ## 2024/05/12: LAN側IPv6アドレスのULA化 iface enp1s0f1 inet6 static address fd98:1:1::1/64 これらに色々書いてもよいのですが、かえってごちゃごちゃするので /etc/rc.local から /usr/local/sbin/ipt-v6p-sta...

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...

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

随分前のことなのですが、フレッツ光クロスとNuro光の2回線を引いていた頃があり、クロス(ぷらら、OCNバーチャルコネクト)の方が1Gを安定して超えていたので、Nuroの方を解約することにした時のことです。回線切り替えテストのためNuroの回線を一旦停止し、ブリッジモードのwifiをフレッツ光クロス経由に切り替えところ、ゲームコンソール(具体的にはNintendo Switch)の NAT判定がNATタイプ Dになり、家人から「オンラインモードでお友達を招待できない」とのクレームがでました。 調べたところ、NAT Type Dは対照型NAT(Symmetric NAT)の状態だそうで、単にスクリプトを見直すだけでは当時はNAT越えできませんでした。 そこで、いろいろと試した結果、FULLCONENATのカーネルモジュールがあるのでそれを使えるようにし、スクリプトを書き換えたところNAT判定をタイプAまで持って行けたので当時のことをまとめてみました。 まず、今回の環境(2021-12-08時点)についてですが、ルータはx64機で10G x2 nic + 1G x 1 onboardで、debian versionは11.2、uname -a はLinux gw23 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 x86_64 GNU/Linuxです。 2023/04/14追記:Debian 12対応方法を追記しました。 2023/04/16追記: モジュール追加無し の場合を新規投稿しました。 まず、FULLCONENATカーネルモジュールとiptablesをコンパイル・パッケージ化します。詳細は割愛しますが、Debianでカーネルモジュールとパッケージがビルドできる状態にしておいてください。 ビルド手順はおよそ以下の通りです。(途中で再起動させるので注意してください。) apt-get install linux-headers-amd64 apt-get install build-essential debhelper git libxtables-dev cd /usr/src ## 2023/04/14 追記:以下 Debian 11の場合(Debian 12は不可) git clone https:/...

MAP-E: DHCPv6-PDにて取得したPREFIXからbashスクリプトにて各種パラメータを自動計算

前回 、 前々回 は、すでに計算済みのmap-eルールをDebian ルータの起動時に読み込ませていましたが、 javascriptで書かれた計算ページ のjavascriptソースをbashスクリプトに書き換え、各種パラメータを自動計算できるようにしてみました。環境は通信が、OCNバーチャルコネクトで、OSはDebianです。(v6Plusでも自動計算できる範囲であれば対応できると思います。) 追記2:ルータ自体からさらにサブネットルータにPDできるようにしました。 なお、今回の設定は、GUA(IPv4でいうグローバルアドレス)をLAN側に割り当てる設定であり、firewallの設定も入れていませんので、注意してください。 今回の設定は、以下のgw1の部分です。 以下、今回のスクリプトおよびインターフェースの設定等です。 ## 0-1a. WAN側インターフェス auto enp1s0f1 iface enp1s0f1 inet6 auto dhcp 1 request_prefix 1 ## 0-1b. LAN側インターフェス auto enp1s0f0 iface enp1s0f0 inet6 manual iface enp1s0f0 inet static address 192.168.1.1 netmask 255.255.255.0 追記3:forward設定をしている場合、外側インターフェースがaccept_ra=2でないとraにてgatewayが設定されない点を修正しました。 ## 0-2. forward設定(/etc/sysctl.conf) net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 net.ipv6.conf.enp1s0f1.accept_ra=2 追記1:wan interfaceが自動でupされず、dhclientとdhcpdが正常に呼び出されない場合があります。おそらくタイミングの問題だと思いますが、その場合、/etc/rc.localに以下を追記してください。 ## 0-3. /etc/rc.local (chmod +x) ifup enp1s0f1 sleep 10 /etc/init.d/...

フレッツ光クロス:MAP-E ROUTER by Debian Box (nftables)

今回は、nftablesをつかって、map-e接続してみました。構成は 前回 と同じですが、nftablesでの "clamp your TCP MSS to Path MTU"は、Linux kernel 4.14 and nftables 0.9以降 なので、Debianはversion 11(Bullseye: 執筆現在はTestバージョン)を使用しました。 さて、早速設定ですが、大まかな設定の流れと事前の計算は、すでに、 前回 を読んでいて理解してくださっているものと仮定します。なお、今回は こちらを参考 にさせていただきました。ありがとうございます。 追記 2021/03/16:前回と同様に、radvdumpで対向ルータのアドレスがわかります。 前略 # # radvd configuration generated by radvdump 2.18 # based on Router Advertisement from fe80::wwww:xxxx:yyyy:zzzz # received by interface enp1s0f1 # 後略 #!/bin/bash #追記 2023/04/04:CEアドレスとtun0はWANDEVに割り当てる様に再度修正しました。 #追記 2023/03/28:PFXを分割しGWA(gateway address)を追加の上LAN側に割り当てるよう修正しました。 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 LANDEV='enp1s0' WANDEV='enp2s0' TUNDEV='tun0' # TYPE: [ OCN | V6P ] TYPE='OCN' if [ "$TYPE" = "OCN" ]; then \ lp=63 nxps=1024 # next port set elif...

フレッツ光クロス:MAP-E ROUTER by Debian Box (iptables)

フレッツ光クロスがようやく開通したので、Debianにてrouterを構成し接続してみました。なお、プロバイダーを選ぶにあたっては、IPoE方式がそれぞれ異なるため検討したところ、IPoEでは、MAP-Eでもv6plusとocnバーチャルコネクトがあり、前者がポート数240なのに対し、後者は約4倍のポート数が使えるようなネットの情報をみて、OCNバーチャルコネクトを選択しました。(プロバイダーとしてはぷららです。なおDS-LiteはCE側でのNATではないので今回は見送りました。)そこで、OCN バーチャルコネクトをDebian(iptables)で実現するとどうなるかと思い、ネットの情報を頼りにしつつ、設定した次第です。 実際に試した結果、とりあえず通信できていますが、MAP-Eは本来マッピングルールをマップサーバから取得するはずなので、今回のやり方が正解とはいえませんし、仕様変更されると通信できなくなる可能性があります。あくまでも参考程度ですが、本稿をUPしてみました。 2023/03/16追記: こちら にゲームコンソールNAT越え(Nintendo Switch ナットタイプ A判定)対応版を投稿しました。 2023/03/28追記:※1の記述および3行無効化によりNAT越え(Nintendo Switch ナットタイプ B判定)できるようになりました。 構成は以下の通りです。 ルーターがDebianで回線がOCNバーチャルコネクトであること以外はなにも特別なところはない構成です。 さて、いきなり設定ですが、まず、割り当てられたプレフィックスを確認します。 確認は、 dhclient -6 -d -P enp2s0 とします。出力の中に 前略 RCV: | | X-- IAPREFIX 2400:4050:5c71:af00::/56 後略 このようにプレフィックスが表示されるので、その確認したプレフィックスを書き留めておきます。これを こちらで 入力します。すると、 CE: 2400:4050:5c71:af00:99:f171:c600:2f00 IPv4 アドレス: 153.241.113.198 ポート番号:(1776-1791 2800-2815 3824-3839) 4848-4863 5872-5887 6896-...