それマグで!

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

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

linux

OpenWRTでパケットをマークして許可する(ポリシールーティング)

WEB-UI ( Luci )を使った場合 Luci で ip rule を作って ip route テーブルを作ることはできる。 前回やったコマンドからのポリシールーティングをLuCI(WEB)経由でやる話です。 やることは次の通り。 nftables でマークを扱う。 マーク済パケットをAccept…

OpenWrtにfw4でポリシールーティングを入れる

OpenWrtでポリシールーティングを入れる ポリシールーティングを入れると何が嬉しいのか。 OpenWrtの nftables (nft) では inet fw4 のテーブルに全部入っている。 しかしLuciのZONE転送の許可拒否とTraffic Acceptをうまく両立するのが大変だった。 Zone 転…

nft で指定位置にinsert する

nft で指定位置にinsert する 既存のルールが次のようになっているとき table inet fw4 { chain forward { # handle 2 type filter hook forward priority filter; policy drop; $EXISTS_RULE # handle 2340 $EXISTS_RULE # handle 2341 $EXISTS_RULE # hand…

nftablesのfowardが記述が大量になる問題。

nftablesのテーブルのルールがあふれる どんなに整理しても、既存のforward テーブルがあふれかえることは避けられない。 細かく条件を入れればいれるほど、forward テーブルに処理が集中してしまい、結局のところiptables時代と何も変わらない気がします。 …

nftablesでaccept後のdropにマッチを回避できない。

nftablesでacceptとdropにマッチするとdropになる問題 nftablesを使ってると、accept しても他のテーブルでreject(drop)されてしまうことがある。 複数テーブルでaccept と dropが混合しちゃう 例えば、tableAとtableBにforwardの許可設定を書くわけよ。tabl…

nftables で、パケットが該当ルールに届いているかチェックする方法

nftables で、パケットが該当ルールに来ているかチェックする方法 パケットの行先が不明のとき、どこまでマッチしているか調べる必要がある。このときcounter を使うのが一番簡単。 例えば、Google(v6) 宛のパケットを探したい 次のように、ターゲットとなる…

hdparm で HGST だけがまともな値を返してくれる。

Seagate / WD / HGST の情報を見たとき /dev/sdb がHGSTなのですが。 APM に対応してて、Acousticに対応してるのはHGSTだった。 買うならHGSTのストレージですね。 ストレージも値段で選ぶなら、ちょっといいやつを買うほうが、細かい制御に対応してて良いの…

cpu電源管理が面倒なので、powertop を自動的に実行する

CPUの電源管理設定を調べる。 cat でサクッと目見れる。 cat /sys/class/scsi_host/host*/link_power_management_policy https://wiki.archlinux.jp/index.php/%E9%9B%BB%E6%BA%90%E7%AE%A1%E7%90%86#SATA_Active_Link_Power_Management ## cpu の電源管理の…

nginx の proxy_redirectでlocationヘッダを書き換える

nginx の proxy_redirectを知りました。 Locationを書き換えることができます。 シンタックス proxy_redirect from to 実例 proxy_redirect http://localhost:800 https://$server_name 効果 nginx のリバプロ先からLocation・Refreshが返されたとき、その転…

ディレクトリがマウントされているか調べる

いまのマウントポイントは、proc ファイルシステムから取得できる。 cat /proc/mounts これをgrep すればマウント済みか判定できる cat /proc/mounts | grep dir また、grep には -qs で結果の true/false だけを取れるので。判定に使える。 ディレクトリ(P…

curl でsocks プロキシを使ってssh先ネットワークから外部接続

curl でsocks プロキシを使って別ネットワークから外に出る。 curl でsocks プロキシを使う。 curl --socks4 127.0.0.1:1080 -v g.co socks オプションを使えば、HTTPプロキシではないにしろ、簡単にプロキシを挟める。 socks プロキシ作成(SSH SOCKSプロ棋…

Grep に'\K' という便利な書式がある。

Grep に'\K' という便利な書式がある。 look behind を使って、必要な場所を取り出すことができる。 (

firefox のプロファイルをunionfs(+tmpfs)にして揮発性にして寿命を延ばし高速化する。

firefoxのプロファイルを揮発性(ramdisk)にする USBメモリにUbuntuをインストールし、LiveUSBのように使っているのですが、Firefoxを起動すると遅い。ファイルのキャッシュを作成するときに時間掛かっている模様。これはUSBの寿命にも良くない。 そこで、f…

overlay を作るときは、work は upper と同じフォルダ(マウント)内部にある必要がある。

overlay fs が作れないで苦労した overlay でファイルシステムを保護しながら書き込みを可能にしようとして戸惑ったのでメモ sudo mount -a sudo dmesg | grep overlay エラーだった [58517.488953] overlayfs: workdir and upperdir must reside under the …

nft のコマンドの使い方の例。NFTテーブル操作ガイドを作ろう

nft 使い方まとめ nft の使い方は、本当にややこしい。覚えることが多くてる辛いので、調べたことをまとめ直す。 ルール閲覧 "コマンド" "役割" nft list ruleset 全部見る nft- a list ruleset 管理番号を含める 全体を見渡すコマンドがコレ。ruleではなくr…

apt-cacher で httpsなレポジトリ をプロキシ・キャッシュする。

apt-cacher 便利で使ってる。 以前導入したapt-cacher が便利である。 膨れ上がった複数台のRaspi4や、膨れ上がったLXCや、Dockerfileからのdocker build時に時短のために大活躍中である。 apt-cacher の問題点/HTTPS apt-cacher は HTTPSに未対応である。TL…

ubuntu の ip コマンドで、v6アドレスをdhcp取得する

ubuntu の ip コマンドで、v6アドレスを取得する v4 と同じ感じに、dhclient を使おうとすると sudo dhclient -6 -d eth1 リンクローカルアドレス( no link local addr )がないと言われる。 Internet Systems Consortium DHCP Client 4.4.1 Copyright 2004-2…

debian multimedia を有効にする

debian multimedia を有効にする mp4tagsをインストールしようとおもったら、見当たらなかったので。multimediaから拾うことにした。 マルチメディア関連だし、https://www.deb-multimedia.org を使えばいいと思ったので。 apt-keyを入れて wget https://www…

sqlite modeで様々に出力した例。

sqlite3 は出力を変えられる。 sqlite mode を使って出力例を変えてみた例。 markdown マークダウンで表を表示できる。マークダウンを書くのがめんどくさいときにはデータ突っ込んで、変換したら楽かもしれない。 mode box 罫線(ボックス)を使って表をきれ…

Apacheとphp-fpm でphpを実行する。

Apache+php-fpm mod_php を php-fpm に切り替える。 nginx でやることも多いけど、fpm 使ってfcgi へ転送するなら、apache2 でも nginx でもあまり変わりない。 同じような仕組みなので、速度も大幅に変わることもないと思う。 apacheが不利だとすれば、.hta…

rsync でディレクトリ構造だけを同期する。

ディレクトリ構造だけを動悸する。 rsync -av -f"+ */" -f"- *" . rclone だとディレクトリ構造をコピー出来ないので、 rclone mount 後に rsync でディレクトリ構造をコピーする。 参考資料 https://www.cyberciti.biz/faq/unix-linux-bsdosx-copying-direc…

df/lsblkを最適化する。

df の結果が見づらいので整理する。 df や lsblk の結果がとても冗長になり、欲しい物が見えなくなった。 lsblk で loopデバイスが表示されるのはまだわかるが、マウント先も大量に表示されるともうカオス。 df では tmpfs や loopにかぎらずシステム運用のs…

htop の色の意味(メモリの黄色は?)

htop の色の意味(メモリの黄色は?) F1を押せばでてくる。 黄色=Cache 青色=buffers 緑色=used 紫色=Shared ってことですね。 メモリでいうと、黄色のキャッシュがストレージのリードキャッシュでしょうね。tmpfs は黄色か紫色に出てくるはず。

dropbear でssh 鍵ファイルを作成する

dropbear でssh 鍵ファイルを作成する ssh localhost -p 2202 ssh: Exited: String too long openssh で作成した鍵をそのまま持ち込むと。String too long。これはカギの保管方式の問題。base64エンコードが掛かってるから言われるんだろうな。デコードして…

tcpdump でPPPoEをマッチングする。

tcpdump でPPPoEをマッチングする。 sudo tcpdump -i eth0 'ether[0x0c:2] == 0x8863 or ether[0x0c:2] == 0x8864' 逆に、PPPoEのパケットを除外したいとき sudo tcpdump -i eth0 'not ( ether[0x0c:2] == 0x8863 or ether[0x0c:2] == 0x8864 )' pppoe のパ…

luks ディスクの追加手順(まとめ)

luks ディスクまとめ LUKSについては、過去に調べながらメモをしているので、いざというときに記事がバラけているので、目的のものにたどり着くのが大変なので、LUKSで暗号化ディスクを取り扱うコマンドで、よく使うものをまとめ記事にし直した。 luks ディ…

joplin サーバーをインストールする。

joplin サーバーのインストール Created: 2023.09.21 02:36 Updated: 2023.11.23 23:52 Combined: 2023.11.23 23:52 joplin サーバーのインストールで高速化するらしい Joplinサーバーを作らなくても、NextCloudで同期できてるし、問題ないと思ってたが、次…

setsuid で実行ユーザが固定できるってのはどこまで?シェルスクリプトはsuidできる?

setsuid で実行ユーザが固定できるってのはどこまで? シェルスクリプトってsuidできなかったよね。ということを確認してみる。 suidを試してみる。 まずは、suid を素直に試してみることにする。 実行可能なバイナリを準備する。 #include <pwd.h> #include <stdint.h> #incl</stdint.h></pwd.h>…

tmpfs をマウントする。(RAMディスク)

RAMディスクを手軽に使いたい。とおもったときにtmpfs がある。 tmpfs をマウントする。 sudo mount -t tmpfs -o size=20G,mode=1777 storage/app/work/ tmpfs を名前付きでマウントする 名前をつけたら,dfなどをしたときに、tmpfs 表記じゃなくなる。 sudo …

debian 11 -> 12 のアップデートした。pt1_drv が死んだgem が死んだ。openssh-server が死んだ、mysqldumpが死んだ

debian 11 -> 12 にアプグレ そろそろアップデートしようかなと思った。 nodesource や gitlab や php など apt でインストールしているパッケージ関連も debian 12 に対応したっぽいので特に問題なくアップグレード出来るはず。 準備。 事前に最新版にする …