高度な検索

5 件の検索結果

  • Linux
    ddclient 4.0.0 + MyDNS 対応パッチ を作ってみた。
    〇 環境  RaspberryPi  - Raspberry Pi OS   - Debian 11 bullseye 〇 ddclient  https://github.com/ddclient/ddclient - Releaseバージョン 4.0.0 をベースに変更 〇 作成目標  ddclient 4.0.0 にて、IPv4のIPをMyDNSにて登録出来るようにしたい。 ※ 本家ddclient(プログラム上)自体は、IPv6に対応しております。 〇 作成状況  ベータ版 IPv4の動作を焦点にして変更。動作テストを経て、現在エージング中。 IPv4のグローバルIPアドレスは、WEB経由で取得している。 IP更新通知方式は、HTTP(s)-BASIC を採用。 IPv6部分に関しては当環境で不要の為、未確認。 本家ddclientはGPLライセンスの為、当変更部分もGPLライセンスに準ずる 〇 適用方法  (1) ddclient本家より、ddclient-4.0.0を入手する   https://github.com/ddclient/ddclient/releases/tag/v4.0.0  https://github.com/ddclient/ddclient/releases/download/v4.0.0/ddclient-4.0.0.tar.gz $ ...
  • Linux
    RockyLinux8 nftablesをDDNS対応(自宅のグローバルIPが動的の場合など)にしたい
    nftablesでは、IPアドレスやポート等の指定でアクセスコントロールを行う。FQDNでは登録が出来ない。しかしながら、githubを巡回している際に、まさに欲しかった機能を開発されているソースを見かけたので実装した。 〇 プログラム  azlux / nft-dns https://github.com/azlux/nft-dns 〇 動作 動作は至ってシンプルで、通常通りnftablesを動作させておき、nft-dnsが起動時に設定ファイルから、ホスト名(FQDN)を名前解決。nftコマンドで、予め定義されているテープルへIPアドレスで登録。 nft-dns 初回動作後はデーモンとして常駐。デフォルト300秒 スリープして再度名前解決。IPアドレスが変更されていれば、nftコマンドで再登録される。 〇 注意 アクセスコントロール(ACL)において、ホスト名(FQDN)で名前解決での登録は脆弱であるという考えもあると思う。代表されるものに、「DNSキャッシュポイズニング(キャッシュ汚染)」があるが、nft-dnsの設定ファイルで、名前解決するDNSサーバを指定出来る。信頼のおけるDNSサーバーを指定すれば、精神的に楽になるだろう。 〇 インストール debianではパッケージが用意されているようだが、RockyLinux用は無いので手動インストールを行う。 # dnf install python3.11.x86_64 python3.11-pip.noarch python3.11-pip-wheel.noarch    → デフォルトの3.6, 試しにインストした3.9では動作せず。        3.11 ...
  • Linux
    /run (/var/run) 配下のxxxxxディレクトリーが消えている。
    /run (/var/run) 配下のディレクトリは、プログラムが実行された時にsocketファイルやpidファイルが作成される。しかし、このディレクトリが何らかの理由により作成されていない場合や、作成されていてもディレクトリの権限と配下にファイルを作成するユーザー権限の違いにより、ファイルが作成されない場合がある。構築段階ではrootで実行していたものを、専用ユーザーで実行するように変更した場合に陥りやすいので注意が必要である。著者はasteriskでこの事象に遭遇。/var/run/asterisk ディレクトリは作成されていたが、 root:asterisk となっており、asterisk実行ユーザーは"asterisk" であった為、asterisk.ctl asterisk.pid が作成されていなかった。解決手法は大きく2通りsystemd-tmpfiles-setup.service での制御各プログラムを起動するserviceファイル内で権限を指定する【systemd-tmpfiles-setup.service での制御】※前提条件:systemd-tmpfiles-setup.serviceを自動起動していること/etc/tmpfiles.d 配下にasterisk.confを作成し、以下1行を書く。d /run/asterisk 0775 asterisk asterisk【各プログラムを起動するserviceファイル内で指定する】青文字のRuntimeDirectory/RuntimeDirectoryModeで指定するファイルは /lib/systemd/system/asterisk.service となるが、アップデート時にデフォルト状態に戻る可能性も否めない為、systemctl edit asterisk.service で編集するのがbetterである。※ /etc/systemd/system/asterisk.service.d/override.conf ...
  • Linux
    systemctl edit (drop-in snippet) を使う時は、"systemctl show" で確認すべし
    サーバーに複数のIPアドレスを割り当てている場合に、明示的にListenIPアドレスを指定したい場合がある。例えば、postfixで、 inet_interfaces = 127.0.0.1, 192.168.1.1 等を設定した場合、OS再起動するとpostfixが起動に失敗するケースに遭遇する。ネットワークインターフェースがLinkUpする前に、postfixが起動してしまい、指定したIPアドレスの25/TCPポートを割当出来ない状態だ。 対応方法としては、systemdのユニットファイルを編集するのが一般的であろう。今回はpostfix.service を例として、"systemctl edit postfix.service"でユニットファイルを編集する場合について。 "systemctl edit postfix.service"で [Unit]After=network-online.target として保存すれば、今回の要件は完了する。 だがデフォルトでは、After=syslog.target network.targetとなっていて、syslog使ってないし、network-online.target があれば、(他のサービスで立ち上がるはずなので)"network.target" 不要じゃないか!と思った時、つまりは、デフォルトで記述されている場合を削除したい場合だ。 結論から言えば、著者は、"systemctl --full edit postfix.service"でしか対応しきれなかった。--full オプションは、すべての設定項目を記述する。保存先は、/etc/systemd/system/postfix.service となる。 [Service] セクションであれば、例えば、ExecStartPre=ExecStartPre=hogehogeと書けば、1行目のExecStartPre行でクリアされ、2行目の1行のみとなる。 同様の事を[Unit] セクションで行ったが、[Unit]After=After=network-online.targetとしても"network-online.target"が追記されるだけで、"syslog.target"も"network.target"も存在する。 だいぶん話が脱線してしまったが、これらの調査を行った際に利用したコマンドが、 〇 編集する場合 ・ ...
  • Linux
    netplanでIPv6が割り当てられないよう(無効)にしたい
    【環境】 Armbian 25.2.2 bookworm  - debian 12 bookworm   SingleBoardConputer(SBC) では、(私の場合)debianベースを使う事が多いが、(デフォルトの)ネットワーク設定アプリケーションが頻繁に変更されているように感じる。 現在使っている Armbianでは、systemd-networkd.service がベースで、外部アプリnetplanと連携している 今回接続しているNetworkセグメントでは、RA (Router Advertisement; ルータ広告)が飛んでいるのでnetplanで明示的に(使用しない事を)設定しないと、IPv6が割り当てられてしまう以下の赤字を追記して、反映させればIPv6は割当されない。 $ cat /etc/netplan/armbian.yamlnetwork:  version: 2  renderer: networkd  ethernets:  ...