linux
nft によるMSQUERADE(iptables MASQUERADEからの移行) iptablesでマスカレード(またはSNAT)は古くから行われている枯れた手法。これをnft(nftables)に書き換える場合のメモ 次のような、マスカレード(NAT)をiptablesで追記しているとする。 iptables -…
ファイル名に全角半角を混ぜないで 混ぜないでと言っても、混ぜないでと何度いっても、全角半角(日本語と英語)を混ぜる人がいる。 大抵は、プログラミングで補えるところなので入力補助でサポートされるよね。でも、ファイル名になると、バリデーションな…
コマンドで、ファイルに番号をつけたい。 なんか適当にファイルをつくちゃってて、ちょっと整理が大変なとき。 ls -l total 0 -rwxrwxrwx 1 takuya takuya 0 Aug 3 16:34 aeja6 -rwxrwxrwx 1 takuya takuya 0 Aug 3 16:34 aen4b -rwxrwxrwx 1 takuya takuya …
JOINコマンドの例 JOINを使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る 過去にもやったけど、書き直して。覚え直し。 次のようなデータを作りたい。 2023-08-01 1 1 2023-08-02 0 1 2023-08-03 0 0 2023-08…
sed の複数条件を複数列挙する。 cat sample.txt | sed -e 's|^|s/|' -e 's|$|/|' パイプ2個使わなくて良い cat sample.txt | sed -e 's|^|s/|' | sed -e 's|$|/|' 正規表現の|でも工夫できる cat sample.txt | sed -e 's|[apple|pen]|s/|' 複数列挙するほ…
QEMUを終了する Ctrl-A-X docker / docker compose や lxc みたいに、デタッチ したり、終了するには、キーボードからエスケープ・シーケンスを送信してから該当のキーを送信する。 参考資料 https://superuser.com/questions/1087859/how-to-quit-the-qemu-…
起動時に、-net をつけると良い -net user 何も考えずに、何も考えないでつける。 qemu system nic "10.0.2.2" dhcp ブリッジを使いたいときは -nic bridge,br=br0,model=virtio-net-pci sudo qemu-system-aarch64 \ -m 2G \ -nographic \ -enable-kvm \ -ma…
apt で libvirt を入れる。 sudo apt -y install qemu-kvm libvirt-daemon-system \ libvirt-daemon virtinst bridge-utils libguestfs-tools virt-top libvirt 経由でNVRAMとUEFIを使って起動する・ NAME=u2204-02 DIR=/var/lib/libvirt/images NVRAM=$DIR/…
入ってきたNICから戻らない。 listen 0.0.0.0 していると、入ってきたパケットが応答で出ていくとき、別の経路を通ってしまう。 TCPならコネクション状態でなんとかなるが、UDPなら如何ともしがたい。これを単純になんとかしたい。 今回はWireguardで別経路…
UDP にコネクションはあるのか UDPはステートレスと、教科書では習うが。実際にはUDPはステートがある。 conntack で見てもわかるのですが。ss でパケットがESTABLISHEDになってたりする。 実験環境 最初に実験環境を整理しておく ネットワーク構成を作る。 …
ip route で特定のテーブルを見る 特定のマークつけたパケットがどこにルーティングされるか、見る。 ip route get 1.1.1.1/32 mark 0x320 ip rouote で特定のテーブルのルーティング一覧する ip route show table 320 ip rule のテーブルを見る ip rule lis…
nftablesでruleを追加してたら、時々遭遇するこの記述である。 Error: Could not process rule: Operation not supported になるのは、type nat のルールを type filter に入れたとき 再現例 filter に snat を入れる # filter を作る nft add table sample …
nftablesでiptables xt_recent を使えない iptables でrecent モジュールを使って、閾値を設けることができる。 iptables -I INPUT -i eth2 -m conntrack --ctstate NEW -m recent --name fromList --set iptables -I INPUT -i eth2 -m recent --name fromLi…
ping の送信頻度(送信間隔)を落とす ping は毎秒送られるけど、画面に表示してモニタリングしてる程度であれば、毎秒もいらないかもしれない。 10秒ごとに送る ping -i 10 1.1.1.1 3秒ごとに送る ping -i 3 1.1.1.1 ping の送信頻度を上げる 送信頻度を上…
macos と min protocol macOSからSambaに繋がらない。 macOSからSambaに繋ごうと思ったら、全然繋がらないの。macOSのSambaが 繋がらないので、Sambaにバックアップが取れない。Ma側のsambaのソフトウェアとソフトウェアのデフォルト設定がおかしいのだと思…
マーキングしたパケットを通常のルーティングより優先度を上げた別のルーティングテーブルで転送する このとき、nf_tables でパケットの条件を指定して、マーキングする。 該当のパケットをマーキングする wireguardのインターフェイスから来たパケットは0x6…
dig コマンドの結果をYAMLで取得して再利用しやすくする dig t.co @8.8.8.8 +yaml dig コマンドは、結果をYAMLで返してくれる。 JSONもあれば嬉しかったけど、dig はyaml形式をサポートしたみたい。python や npm でいい感じに変換すればいいよね。 実際の例…
dig コマンドでプロトコルを指定する。 dig コマンドは UDP/53以外にもTCP / TLS(DoT) / HTTPS (DoH ) を指定できる。 dig g.co @dns.google +https dig gco @dns.google +tls dig g.co @dns.google +tcp それぞれ、プロトコルを+オプションで付与してあげる…
linuxで単純なルータ機能を作る マスカレードやDNAT/SNATをして、ルータ機能を作ってみる。 先のiptablesと比較してnft でどうなるのかを見たいので、試した。 ネットワーク構成図 以下のようなネットワーク構成を作る 実際に作った構成 ipコマンドには netn…
iptablesでルータを作る Ubuntu Linuxでiptablesを使って、ネットワークの練習をする。WEBサイトに潤沢な検索結果があってとくにメモを残してない。 いつもiptablesを検索し直してて非効率なので、ここらで一旦まとめ直しておく。 今回は、lxc ホストと ip n…
dig コマンドはDoHに対応しています。 dns over https で dig を使えます。 dig t.co @dns.google +https dig コマンドは DoTに対応しています。 dns over tls で dig を使えます。 dig t.co @dns.google +tls 活用例: DNSがDNATで捻じ曲げられててないかど…
ip コマンドで rule を使う。 テーブル100を作って、指定のマークが有るパケットだけを、別のルーティングテーブルへ掛ける iptablesでパケットにマークング(フラグ)設定しておいて、マーク済みパケット対象のルーティングテーブルを作る。通称がポリシ…
Windowsバックアップをどうやって作る? Windowsのバックアップは、フルバックアップをHDDに保存することができます。 なぜか、Windows7バックアップという名前になっていますが、Windowsのフルバックアップは従来からコントロール・パネルに用意されている…
AirDrop的にファイルを送受信したい。 Windows-iOSや iOS-Android間で、ファイルを送受信したい。 SnapDropというWebアプリケーションがある。 MacとWindowsでファイルのやり取りがとても不便なので、ちょっとしたテキストを送受信するのに便利だと思う。 公…
stunnel を使ってTLS通信にする。 stunnel を使うと、TLS非対応な通信をTLS化して暗号化通信に昇格(?)にして、盗聴・改竄・詐称を防止することができる。 stunnel 利用例 stunnel をつかうと、主に3つ(2+1)のパターンを使って通信ができる。 TLS非…
lxc ディスクの圧縮 以前も試したのだが、Raspiを構成し直すにあたり、もう一度やってみた。 lxd のストレージ・プールbtrfsに透過圧縮(zstd)を有効にする。 - それマグで! 圧縮を有効にする lxc storage set default btrfs.mount_options compress=zstd …
on-linkしてるのにルートが作られない。、なぜだろう。 ip route での onlink について。 onlink は on-link (強制的にルートを入れる)と意味です。 似たようなものに、scope link があって勘違いしてました。 いくつかの記事から見てみます。 https://for…
OpenVPN の Access Server のAPIを使って設定を書き換えようと思ったが、APIを探し出したり、管理コマンドをSSH経由で実行するのもめんどくさい。 curl でwebUIを叩いてみることにした。 WEB画面のSSL証明書を更新する例。 DOMAIN=ovpn.example.tld CERT_PAT…
EFI パーティションにデュアルブートを作りました。 EFIパーティションには、OSごとにブートを設定を書くことができます。 EFIパーティションを使うように grub をインストールする。 sudo grub-install --target=x86_64-efi 細かく指定すると grub-install …
btrfs の練習 僕も、雰囲気でbtrfsを使ってる。 サブボリューム スナップショット マウント スクラブ ( scrub ) デフラグ バックアップ(send/receive) スパニング(LVM/raid) リサイズ 重複排除 lxc storage btrfsって多機能なんだぜ?でも、LVM+ext4で事足…