それマグで!

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

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

linux

OpenVPNでeasy-rsaを使ったCA構築でTLS接続をする

ここまで、次のことを試しました。 OpenVPNの起動と接続・コマンドから OpenVPNの固定鍵(共有鍵)の作成と仕様 OpenVPNで設定ファイルを利用して接続する TLSを使う。 TLSを使うことにします。UDP/TLSの場合、http3/HTTPSと同じ通信方式なのでパケットフィ…

OpenVPNの起動オプションをovpnファイルのconfig にまとめる。

前回まで ここでの目標 接続ファイルの作成 サーバー設定ファイルを作成 myserver-tun0.conf 設定ファイルを使ってサーバーを起動します。 クライアント設定ファイルの作成 準備 myserver-tun0.conf 接続します。 実際の接続例です 設定ファイルへの共有鍵を…

OpenVPNのシンプルな接続に共通鍵(鍵ファイル)による認証を加える

OpenVPNを起動するときに、共通鍵ファイルを使用する 前回で、基本的なつなぎ方とコマンドがわかったので、認証方式を変更します。 鍵ファイルを作成して共有することでパスワード認証と同様に共有鍵でクライアントを認証します。 クライアント・サーバーで…

OpenVPNコマンドで直接起動して接続される状態を体験する。

OpenVPNをコマンドからフォアグラウンドで実行します。 いきなり、OpenVPNをインストールして接続してしまうと、内部がブラックボックスでトラブル時に時間を浪費することになりそう なので、まずは最低限のシンプルな状態で接続してみます。 コマンドから、…

LinuxでOpenVPNの暗号化通信をする。

OpenVPNで通信を暗号化したい。 OpenVPNをつかって、通信を暗号化したい。とくに、検閲への不安が一番大きい。最近のLTE回線はどう運用されているのか、ほんとうにわからないよね。インターネットもCDN経由で通信はどこで見られてるのか想像がつかない。CDN…

bash で指定回数ループする方法いろいろ

bash で指定回数ループする方法のあれこれまとめ bash で使える方法です。sh では使えません。 while で10回ループ bash 算術演算のカッコと組み合わせて強いです。 #!/usr/bin/env bash while (( cnt++ < 10 )); do echo $cnt done break も使えます。 br…

OpenWrt でPPPoEなどWANの接続を再起動する

WAN接続を再起動する。 WAN側の接続を再起動する。WANに指定されているのは、firewall のwan になります。 OpenVPNやdhcp、そしてPPPoEで、IPアドレスを再取得して、切り替えます。 WANに設定されたインターフェスの取得 OpenWRTには、network.sh というネッ…

OpenWrtでホスト名を変える方法

現在の設定を取得 uci get system.@system[0].hostname といってもssh ログインしたら見えますね。 設定の変更 uci set system.@system[0].hostname='OpenWrt2' uci commit system /etc/init.d/system reload 設定変更後に、再度 ssh ログインすると反映され…

Poweroffコマンドが危険すぎるので、sudoersで 自分すら利用制限する

poweroff , powertop の補完が怖い。 powertop を見ようとして、 補完して 間違って poweroff コマンドを実行しちゃったよね。 マジ危険ですよ。危険。 リモートマシンの電源をいれる手段を失いました。 さらにヒストリで暴発。 そして注意してたけど、ヒス…

sed で出現文字をすべて置換する /g オプション

sedで1行の中に複数回出てくる文字を全部置換 sed で置換していると、普段は気にならないけど、複数回登場する場合に置換漏れが出てくる。 グローバルのマッチング・オプション /g がある。 s/cat/dog/g 時々忘れそうになる 設定ファイルを触っているときに…

OpenWrt x86 の リリースのバージョン更新する。

ext4のOpenWrtのバージョン更新。 OpenWrt x86 の ext4 をdist release upgrade してみた。先月にルーターとして稼働させたばかりだけど、マイナーバージョンのアップデートが来ていたので試した。 2020-01-30 に 19.07.1 がリリースされていたので、 インス…

市販ルータを諦めて x86_64 マシンliva zを Linuxルータにした。

市販ルータに限界を感じた。 PPPoEの再接続の再起動にいちいち、WEB-UI開くのが面倒だし。 ちょっとルーティングテーブルを管理するのでも面倒だし。 ルーターは電源つけっぱなしだけど、他の用途に使えないし。 SSH で管理できないし VLANを割り振ってアレ…

kvm+qemuの仮想マシンのVMへ、シリアルコンソールで接続する。

仮想マシンのVMへ、シリアルコンソールで接続する。 virt-manager でVGAを使うより、コンソールで接続したい。と思いました。 サーバー版のLinux を使っていて思うんだけど、インストールしても利用しても、本当ににVGAって必要? Ubuntu Server や openWRT …

Linuxの起動時のブートのログを見る

Linuxの起動時のログを見る systemd が一般的になって、起動時のログを書くにする方法がsystemd経由になった。 journalctl /usr/lib/systemd/systemd -b ただし、systemd が起動してからのログなので systemd が起動する以前の initrd のログを見ることはで…

ディスクのuuidを取得する方法3つ(使いやすいのは lsblk)

blkid よりも lsblk- f が便利かもしれない lsblk のオプションに -f があります。 lsblk にオプションをつけると、UUIDが表示されます。 takuya@:~/Downloads$ lsblk -f NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda ├─sda1 vfat 5601-CF5B 498.7…

シェル(bash)の履歴を指定業だけど消す(間違えてパスワードを履歴に残した)

パスワードを打ち込んでエンターしてしてしまった。 パスワードなど、履歴を残したくない文字列を履歴に残してしまった場合。 たまに、やらかしますよね。複数ウインドウでフォーカスが違ってたとか。 takuya@:~$ 'MyP@$$word' -bash: MyP@$$word: コマンド…

ファイルを空っぽにするコマンド truncate

ファイルを空っぽにしたい exim4 にパニックログが残ってると、エラー監視ログが上がってくるんですね。ログファイルを空にしたい。 exim paniclog /var/log/exim4/paniclog on acid has non-zero size, mail system might be broken. The last 10 lines are…

dd のコピー進捗状況を表示する- progress

dd コマンドで進行状況を確認したい dd といえば、USRシグナルを送れば進捗状況が見えるのですが。 kill -USR1 $pid; sleep 1; kill $pid これは起動中にddコマンドに対してpidへシグナルを送ることで表示されるのですが。説明するのは大変ですよね。 かんた…

mac のdd / ddrescue が遅すぎる大問題に対処する。

mac で ddするとめっちゃ遅い 本当に遅い。 信じられないくらいに遅い。2MB/s程度しか出ない。32GBのraspi のSDカードをコピーに一晩中掛かってしまった。辟易した。調べたら mac はもともと遅いらしい・ rdisk を使う mac の /dev/diskX は遅すぎるので、…

ddrescue は レジューム機能がある 。途中で再起動しても大丈夫

ddrescue コマンドを実行中に再起動しちゃった。 macOS で dd / ddrescue するとすごく時間がかかるので、バックグラウンドで流してて、1日近く経過してた、ddrescue 実行中を忘れて再起動してしまいました。悲しい レジューム機能がある。 悲しいので、こ…

mac で ext4 など Linuxファイルシステムパーティションを扱うGNUコマンド

macOSでext4 をチェックしたい。 LinuxデスクトップにいちいちUSBをつなぎ直すのが面倒くさいので、普段使いのmacOSでext4 を操作してチェック(verify)修正をしたいなと思った。 e2fsprogs のGNUコマンドはbrewでインストールできます。 brew install e2fspr…

mac で linuxと同等のgdisk コマンドを使うには

mac でgdisk したい mac にもfdisk があり gpt コマンドで GPT のボリュームも扱えるのですが。「覚えるのが面倒くさい」 brew で gnuの gdisk コマンドをインストール linuxのgdisk コマンドと同じなら使い方も同じなので、覚えることが少ない。 brew insta…

lscpu コマンドが便利。 cat /proc/cpuinfo がメニーコアだと使いにくい

CPU マルチコア・マルチスレッド化 して情報を見にくい。 cat /proc/cpuinfo の出力が多すぎて見にくい。 表示は4コア2スレッドの合計8スレッドのCPUなんだけど、この数がどんどん増えていくんですよね。Ryzenとか買った日には、最大64個とかになるんで…

Intel のAESサポートが有効になっているか調べる

intel のAES処理が有効になっているか調べる カーネルの暗号化モジュールから、一覧を拾ってきて aesni が入ってれば大丈夫っぽい takuya@:~$ sort -u /proc/crypto | grep module 66:module : aes_x86_64 67:module : aesni_intel 68:module : crc32_pclmul…

tcpdump でパケットのサイズが指定以上より大きいものを取り出す。

tcpdumpで パケット長でフィルタを掛けたい 小さいパケットは無視したり、一定以上のサイズのものだけを取り出したい。 tcpdump -i eth0 greater 500 greater の条件を使うことで、パケットの長さを元にフィルタをかけることができる。逆は less 組み合わせ…

tcpdump で UDP のパケットを表示する

tcpdump を使って UDP を指定する tcp は syn ack があってパケットがたくさん出てきますが、 UDP はそうでもない。 tcpdump -i eth0 udp UDP の IPアドレスを指定する tcpdump のコマンドは、フィルタ単体というより、いくつかのフィルタを組み合わせて使う…

tcpdump コマンドで ping の応答 ( icmp echo reply ) だけに絞り込む

tcpdump で ping の 応答パケットだけを取り出す。 tcpdump をLinuxルーターのなかで実行しているときに、デバッグしてるときにパケットを見ます。 ネットワーク間の forward が正しく動いているか、iptables の設定が正しいかどうか、NATできてるかどうか。…

ssh のポート転送をipv6 / ip6 宛にする

ssh のポートフォワーディングのやり方IPv6アドレス編 ssh のポート転送は便利で手軽に使えるものです。 ipv6 でも同じです。 ssh -L 8080:[2001:a253:838xxxxxx]:80 root@192.168.100.1 sshでもIPv6の指定はcurlなど同じ [v6 addr]:port のように、ブラケ…

tcpdump で icmp (ping)のパケットを表示する

icmp で ping の受信を見たい tcpdump を使って届いてるパケットを見ることが出来る。 ping の応答が返ってこないしとしても、応答パケットのルーティング設定が間違っている可能性もある。 そのため、ping の宛先でパケットがちゃんと届いているかチェック…

initramfs の本体 init.rd を展開して、busybox をみたり、起動設定を見直してみる。

init.rd を展開してみる init.rd は initramfs を起動するためもの。/boot のパーティションに存在している。 update-initramfs で起動する。grub から起動される最小限のlinux。 展開してみる・・・? initrd ファイルはcpio なので 、cpio で展開しようと…