それマグで!

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

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

openwrt

wireguard の起動と削除

wireguard の起動と削除 wireguardを指定して起動したい wg quick のようなスクリプトが提供されてない環境では、明示的にリンクをUp/Downする必要がある wg は起動スクリプトでしかなく、Wiregudardはカーネルモジュールであり、リンクとして動作してる。そ…

openwrt のddnsで特定のドメインをコマンドから更新するには

OpenWrt のDDNSの管理スクリプトを使って、ドメインをの更新を確認することができる。 openwrt の特定の ドメインを更新するには 設定をテストすることが出来る。 /usr/lib/ddns/dynamic_dns_lucihelper.sh /usr/lib/ddns/dynamic_dns_updater.sh たとえば、…

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

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

openwrt にユーザを作ってsudo する

openwrt にユーザを作ってsudo する 予備のユーザがあったほうが嬉しいと思う。 予備のユーザを作る echo takuya:x:1000:takuya >> /etc/group echo takuya:x:1000:1000:takuya:/home/takuya:/bin/bash >> /etc/passwd echo takuya:x:0:0:99999:7::: >> /etc…

openWrt でipsecしてトンネルを経由する。(nft/nftablesに注意する。)

openWrt は nft / nftables になっているので、注意する。 最初にパケットを定期的に送る。(watch を使うのがコツ / ping コマンドで送ると継続パケットになり、パケットがマークされたままになり、経路が変わっても以前の経路を通る) ssh s0 -- watch -n 2…

raspberry pi zero にUSB-LANを繋いでOpenWrtを動かす。

pi-zero で open wrt を使う pi-zero で open wrt の入ったSDカードを使う。 Raspberry Pi で OpenWrt を使うには。 公式サイトに専用ページが設けられている。 https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi pi Zero + OpenWrt を使う場合…

ddnsのサービス一覧を更新する

ddns がたまに動かなくなってることがある。 原因としてはいくつか考えられるが、ddnsのサービス定義ファイルが古いことがある。 ここで、サービス定義ファイルの更新日(最終確認日=チェック日)を確認できる。 これが、古いことがあるので、偶に更新する…

OpenWrt (x86-64/ext4)のディスクをメンテナンスした。

OpenWRTが起動して動作してるが、Read Onlyになっていて、ext4 のフォーマットがエラーになっていたので修正する。 [ 5.150903] EXT4-fs (vda2): warning: mounting unchecked fs, running e2fsck is recommended [ 5.161300] EXT4-fs (vda2): re-mounted. O…

sslhでudpをリッスン(できなかった)

sslh-53.conf を作ってUDP53をリッスンしようとした。 UDPで53でリッスンしてWireguardに流そうとした。 listen: ( { host: "192.168.1.1"; is_udp: true; port: "53"; } ); protocols: ( wireguard { name: "regex"; host: "192.168.1.2"; log_level: 2; is…

openwrtのLuci(WEB)でv6のNATを作る。

Zoneの設定で、v6 Masqueradeを有効にする この設定は openwrtの最新版で登場した。 私の設定 私は、v4とv6を混ぜて管理せずに分けて管理することにした。 LAN6というゾーンを作った。 LANのv6アドレス(ユニークローカル )を割り当てて、v6専用のゾーンを…

openwrt の firewall ipset 記述を入れた例

openwrt の firewall ipset 記述を入れたがうまく動かない。 firewall ipset を記述するときの注意。 fw4 / 2203以降 ipset ではなく、nft list setsを使ってる。 fw3 / 2203 未満 ipset rule を使っている。 rule が動かないとき ipset を使った rule が動…

openwrtのアップグレード手順(見直しの見直し

openwrt のアップグレード アップグレードは、バックアップを取って新しいOSを書き込んで再起動する。バックアップを書き戻せばば良い。 ただし、以下の点に注意する。 /etc/config 以下がバックアップされる opkg は再現されない。 /etc/passedはバックアッ…

openWrtのFirewallにホットプラグする。

OpenWrtはホットプラグで「〇〇したとき」に任意のスクリプトを実行できる。 interface(iface)で、接続時に〇〇するとかできる。 Firewallが追加されたときに、なにかしたいと思ったが、公式サイトに記述がない。 イベントを調べた。 mkdir /etc/hotplug.d/f…

OpenWrtでSSLHをしてHTTPS/TLSを443共有する

OpenWrtでSSLHをしてHTTPS/TLSを443共有する TCP443ポートをSSLHで再利用する。OpenWrtで行う。 インストール opkg install sslh uci show sslh TLS(https)/SSHLの転送先 uci set sslh.default.ssh='10.1.1.1:22' uci set sslh.default.tls='10.1.1.1:443' u…

openwrt の dhcp 割当の一覧をIPアドレス順にソートする。

ipv4 アドレスをでソートしたい。 OpenWrtでDHCPの固定割当を設定している。MAC ADDRごとにIPアドレスを静的割当している。 これを一覧画面で閲覧すると、ソートされてない。追加順に末尾に足されるだけなのだ。 追加順だととても不便なのだ。IPアドレス順に…

スプラトゥーン3の通信相手を見ながらプレイする

スプラトゥーン3の通信相手を見ながらプレイする スプラトゥーンの対戦相手のIPアドレスを見ながらプレイする。 マッチングしたタイミングや、相手のISPをみる、地域を見るなどで、ラグが予想できたり、テザリング勢が混じってると、回線切断の危険性が高い…

OpenWrtで サービスを作成する( iperf3 の例)

OpenWrtでサービスをサクッと作る 公式サイト参考資料や、既存のinitスクリプトを見れば、大体わかります。 iperf3 をサンプルに、起動してみました。 iperf3 はそれ自体が fork/exec の機能を持っていて daemon 起動するので簡単ですね。 iperf3 の daemon…

Openwrt でログを tail/tailfする

Openwrt でログを tailfする logread -f を使う 通常のログを表示するだけなら logread | grep ... でログを見ることができる。ログはRamdisk上にあるために、linuxのように /var/logを見に行くとちょっとつらい。具体的に言えば、rsyslog/syslog の代わりに…

OpenWrtの各機能をcurl/JSON/APIで叩いて状態を取得する。

openwrt の各機能へcurlでアクセスする ネットの検索結果を眺めていると、面白いものを見つけた。 https://floatingoctothorpe.uk/2017/managing-openwrt-remotely-with-curl.html ただし任意のコマンドが実行できてしまうので、「定期的に状態を取得したい…

OpenWrtでGNU GREPを使うためにopkg でインストール。

grep の指し示すもの opkg の grep はbusybox なので正規表現の取り扱いが微妙 root@OpenWrt:~# grep -v BusyBox v1.33.2 (2021-12-14 22:12:22 UTC) multi-call binary. root@OpenWrt:~# which grep /bin/grep root@OpenWrt:~# ls -l $(which grep) lrwxrwx…

OpenWrt x86のアップグレード手順(見直し

2023-10-16 追記 手順を見直して、新規エントリして書き直した。 openwrtのアップグレード手順(見直しの見直し - それマグで! 以下 以前の記録。 x86_64のアップグレード手順を公式Wikiに従って見直してみた。公式Wikiがロードが早くなって読みやすくなっ…

openWrtをインストールしたルーターにUSBシリアル変換を挿してみる。

市販ルータのOpenWRTがUSBのシリアル変換を認識させる。 USBドライバを入れると動きました。 root@Wrt:~# opkg install usbutils root@Wrt:~# lsusb Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter Bus 001 Device 001: I…

udhcpc でDHCPの割当とルーティングを入れる。

udhcp というDHCPクライアント udhcp はDHCPのプロトコルに基づいて、クライアントリクエストをブロードキャストする。DHCPサーバーを結果を受け取る。 その結果はシェル変数に入った状態で、スクリプトに渡される。 udhcp -i eth0 -s /path/to/script.sh ス…

OpenWrt で softether のVPN接続する、udhcpdによるIP取得とルーティングする

openWrt で softether のVPNをルーティングする openwrt に vpn 拠点間接続をやらせてみる リモート側のネットワークの設定やマスカレードなどは済んでいる状態。OpenWRTからリモートへ接続する Host-->openwrt--<SoftEtherVPN>--VPN Server--(office network)--10.193.3.4</softethervpn>…

OpenWrtでヘアピンNAT(NATループバック)

ヘアピンNAT(ループバック) OpenWrtでときどき、接続できないポートがあって、不思議だなと思ってたらNATがループバックしてなかった。 設定→ネットワーク ネットワーク→ファイアウォール→ポートフォワーディングの順にたどって該当のport forwarding につ…

openwrt で IPアドレスが変わるまで再接続(IPガチャ)

openwrt でpppoe を再接続 再接続して、IPアドレスが変わるまで、PPPoEガチャをする。 IPアドレス判定がおかしいとき。 IPアドレスによる地域判定や、IPアドレスで「ブロック」されたときに、再接続する。 今どき、ipv4 をブロックリストに追加したり、地域…

Raspberry Pi4 にKVM+qemu で仮想マシンの仮想環境を作る/raspi+kvm

Raspberry Pi4 にKVM+qemu で仮想マシンの実行環境を作る Raspberry Pi4 もメモリが8GBもあれば、仮想マシンを動かすのに十分な性能があると思うんですね。 仮想マシンを動かしたらいろいろ便利そうなので、仮想マシンを動かすことにした SDカードにOSを準…

wireguardのvpn をwg-quickを抜きで作ってみる。(ip6tablesなどの細かい設定を制御してv6NATしたい)

wireguard vpn を手作業で作る openwrt がv6のアドレスに対して wireguard を作成すると、インタフェースの設定ではなぜかエラーになったので、手作業でコマンドを打ち込んでwireguard を起動する必要があってめんどくさかった。wg-quick もそのままインスト…

OpenWrt の Luci (web)で wireguard を作る

OpenWrt の Luci (web)で wireguard を作る WireGuardは、サービスではなくインタフェースから作る。 インタフェースを追加したら、Peerを追加する。 秘密鍵と共有鍵の一覧は、ステータスにでてくる。 注意点 wireguard の設定を save & apply して適用しあ…

wget が ipv6 でエラーになる→ wgetrc でv4に限定して解決

wget がエラーになる。 wget が名前解決エラーになる場合、ipv6 アドレスへ接続に行き、接続失敗することがある。 wgetrc を設定ファイルに書いてもユーザーごとになってしまうので、システムグローバルに適用する wgetrcファイル に設定を掛けば、自動実行…