それマグで!

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

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

openwrt

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

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

MWANのためにデフォルトGWを複数にしたらい問題が生じたので単純な冗長化をした

mwan パッケージで冗長化しようとした。 OpenWRT+mwan3でWAN回線を冗長化する コレを読んでたら、なんだ簡単じゃん。って思ったので試したのですが。 デフォルトGWを複数にしたら問題が生じた Global IPを取得する機能 こういうのがいくつかの場所で使われて…

openwrt で hotplug dhcp を調べる

openwrt で hotplug dhcp を調べる DHCP に何が書かれるか、どういうタイミングでホットプラグが呼ばれるのか全然わからないので調べることにした 調査用のファイルを作成 cat << "EOF" > /etc/hotplug.d/dhcp/00-logger logger -t hotplug $(env) EOF 調査…

openwrt のifup / ifdown の使い方

openwrt のifup / ifdown の使い方 使い方の例 ifdown wan86 ifup wan6 インターフェイスがポイント ifdown <interface name>が書式です。 インターフェイス名はLuciの画面にでてくる名前です。eth0 のようなデバイス名称ではないことに注意する。 インターフェイス名称の取</interface>…

public dns のv6アドレスを通信拒否する。

exgress な udp/53 をブロックすれば、通信を改竄詐称盗聴できる時代は終わった。従来どおりやるにはdot / doh / dos を止めないと・・・それには打つ手はない。 v6 の public DNSのIPアドレスをブロックする。 ただ、public dnsを止めるだけでも相当の効果…

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)のディスクをメンテナンスした。(read only 現象)

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 につ…