それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

linux

nft によるMSQUERADE(iptables MASQUERADEからの移行)

nft によるMSQUERADE(iptables MASQUERADEからの移行) iptablesでマスカレード(またはSNAT)は古くから行われている枯れた手法。これをnft(nftables)に書き換える場合のメモ 次のような、マスカレード(NAT)をiptablesで追記しているとする。 iptables -…

ファイル名の全角半角統一する。(uconv )

ファイル名に全角半角を混ぜないで 混ぜないでと言っても、混ぜないでと何度いっても、全角半角(日本語と英語)を混ぜる人がいる。 大抵は、プログラミングで補えるところなので入力補助でサポートされるよね。でも、ファイル名になると、バリデーションな…

linux でファイル名に連番を付加して整理する。

コマンドで、ファイルに番号をつけたい。 なんか適当にファイルをつくちゃってて、ちょっと整理が大変なとき。 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を使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る

JOINコマンドの例 JOINを使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る 過去にもやったけど、書き直して。覚え直し。 次のようなデータを作りたい。 2023-08-01 1 1 2023-08-02 0 1 2023-08-03 0 0 2023-08…

sed で複数条件の置換を並べて書く。

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を終了する(デタッチと終了

QEMUを終了する Ctrl-A-X docker / docker compose や lxc みたいに、デタッチ したり、終了するには、キーボードからエスケープ・シーケンスを送信してから該当のキーを送信する。 参考資料 https://superuser.com/questions/1087859/how-to-quit-the-qemu-…

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…

ubuntu (aarch64 ) on raspi-ubuntu +nvram な仮想マシンを作る

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/…

iptablesでソース ルーティング(入ってきたインタフェースから返す)

入ってきたNICから戻らない。 listen 0.0.0.0 していると、入ってきたパケットが応答で出ていくとき、別の経路を通ってしまう。 TCPならコネクション状態でなんとかなるが、UDPなら如何ともしがたい。これを単純になんとかしたい。 今回はWireguardで別経路…

UDPにコネクション・ステートはあるのか?

UDP にコネクションはあるのか UDPはステートレスと、教科書では習うが。実際にはUDPはステートがある。 conntack で見てもわかるのですが。ss でパケットがESTABLISHEDになってたりする。 実験環境 最初に実験環境を整理しておく ネットワーク構成を作る。 …

ip route で特定のテーブルを見る・作る・消す

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でルールを追加したら、Operation not supported になる

nftablesでruleを追加してたら、時々遭遇するこの記述である。 Error: Could not process rule: Operation not supported になるのは、type nat のルールを type filter に入れたとき 再現例 filter に snat を入れる # filter を作る nft add table sample …

nftablesでiptables recentと同等の処理をする(ipset利用で動的ファイアウォール)

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 の送信頻度(送信間隔)を落とす ping は毎秒送られるけど、画面に表示してモニタリングしてる程度であれば、毎秒もいらないかもしれない。 10秒ごとに送る ping -i 10 1.1.1.1 3秒ごとに送る ping -i 3 1.1.1.1 ping の送信頻度を上げる 送信頻度を上…

macOSからLinuxのSambaにつなぐときのサーバー設定 / smb3 暗号化

macos と min protocol macOSからSambaに繋がらない。 macOSからSambaに繋ごうと思ったら、全然繋がらないの。macOSのSambaが 繋がらないので、Sambaにバックアップが取れない。Ma側のsambaのソフトウェアとソフトウェアのデフォルト設定がおかしいのだと思…

nftables でポリシールーティング

マーキングしたパケットを通常のルーティングより優先度を上げた別のルーティングテーブルで転送する このとき、nf_tables でパケットの条件を指定して、マーキングする。 該当のパケットをマーキングする wireguardのインターフェイスから来たパケットは0x6…

dig コマンドの結果をYAMLで取得して再利用しやすくする

dig コマンドの結果をYAMLで取得して再利用しやすくする dig t.co @8.8.8.8 +yaml dig コマンドは、結果をYAMLで返してくれる。 JSONもあれば嬉しかったけど、dig はyaml形式をサポートしたみたい。python や npm でいい感じに変換すればいいよね。 実際の例…

digコマンドでプロトコルを指定する(HTTPS/TLS/TCP)

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のnftables(nft)でルータ機能を作る

linuxで単純なルータ機能を作る マスカレードやDNAT/SNATをして、ルータ機能を作ってみる。 先のiptablesと比較してnft でどうなるのかを見たいので、試した。 ネットワーク構成図 以下のようなネットワーク構成を作る 実際に作った構成 ipコマンドには netn…

linuxのiptablesでルータを作る

iptablesでルータを作る Ubuntu Linuxでiptablesを使って、ネットワークの練習をする。WEBサイトに潤沢な検索結果があってとくにメモを残してない。 いつもiptablesを検索し直してて非効率なので、ここらで一旦まとめ直しておく。 今回は、lxc ホストと ip n…

dig コマンドでDoH/DoTする。書換え検出する(本当に8.8.8.8と通信しているか)

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 を使う。(ポリシールーティング)

ip コマンドで rule を使う。 テーブル100を作って、指定のマークが有るパケットだけを、別のルーティングテーブルへ掛ける iptablesでパケットにマークング(フラグ)設定しておいて、マーク済みパケット対象のルーティングテーブルを作る。通称がポリシ…

WindowsのバックアップをSambaへ作成する

Windowsバックアップをどうやって作る? Windowsのバックアップは、フルバックアップをHDDに保存することができます。 なぜか、Windows7バックアップという名前になっていますが、Windowsのフルバックアップは従来からコントロール・パネルに用意されている…

Airdrop的にブラウザでファイルを送信したい。Snapdropの実行

AirDrop的にファイルを送受信したい。 Windows-iOSや iOS-Android間で、ファイルを送受信したい。 SnapDropというWebアプリケーションがある。 MacとWindowsでファイルのやり取りがとても不便なので、ちょっとしたテキストを送受信するのに便利だと思う。 公…

stunnel を使ってTLS通信を肩代わりする

stunnel を使ってTLS通信にする。 stunnel を使うと、TLS非対応な通信をTLS化して暗号化通信に昇格(?)にして、盗聴・改竄・詐称を防止することができる。 stunnel 利用例 stunnel をつかうと、主に3つ(2+1)のパターンを使って通信ができる。 TLS非…

lxc の storage / btrfs で 圧縮を有効にする

lxc ディスクの圧縮 以前も試したのだが、Raspiを構成し直すにあたり、もう一度やってみた。 lxd のストレージ・プールbtrfsに透過圧縮(zstd)を有効にする。 - それマグで! 圧縮を有効にする lxc storage set default btrfs.mount_options compress=zstd …

ip route のOn-Linkがよくわからないので、ちょっと調べた。

on-linkしてるのにルートが作られない。、なぜだろう。 ip route での onlink について。 onlink は on-link (強制的にルートを入れる)と意味です。 似たようなものに、scope link があって勘違いしてました。 いくつかの記事から見てみます。 https://for…

openvpn access server の管理画面をcurlで書き換える。

OpenVPN の Access Server のAPIを使って設定を書き換えようと思ったが、APIを探し出したり、管理コマンドをSSH経由で実行するのもめんどくさい。 curl でwebUIを叩いてみることにした。 WEB画面のSSL証明書を更新する例。 DOMAIN=ovpn.example.tld CERT_PAT…

EFIでマルチブートを作ると区別できない。(全部Ubuntuで区別つかん)

EFI パーティションにデュアルブートを作りました。 EFIパーティションには、OSごとにブートを設定を書くことができます。 EFIパーティションを使うように grub をインストールする。 sudo grub-install --target=x86_64-efi 細かく指定すると grub-install …

btrfsを使う前に調査。雰囲気で使ってるbtrfsをよく知ろう。

btrfs の練習 僕も、雰囲気でbtrfsを使ってる。 サブボリューム スナップショット マウント スクラブ ( scrub ) デフラグ バックアップ(send/receive) スパニング(LVM/raid) リサイズ 重複排除 lxc storage btrfsって多機能なんだぜ?でも、LVM+ext4で事足…