NetBox-with-IPscan

Contents

OS側の事前準備

下記、docker 動かす側であらかじめインターフェースに、
DNSアドレスを入れておくこと

もし、OSインストールのタイミングで、
DNSアドレスの設定を見送ってしまった場合は、
下記のファイルを編集すること

sudo vi /etc/netplan/ランダムな数字-installer-config.yaml

---
# This is the network config written by 'subiquity'
network:
 ethernets:
   ens33:
     dhcp4: true
     nameservers:
       addresses:
        - 172.16.2.42
 version: 2
---

参考URL
https://tex2e.github.io/blog/linux/ubuntu-netplan

ファイル編集後、sudo netplan apply を実行で、
DNS名が書き換わる

DHCPでアドレスをもらい受けている場合は、
ssh接続がいったん途切れる可能性を考慮にいれること

\=====
/etc/resolve.conf にDNSアドレスを入力した際に、
dockerを起動すると、resolve.confが "127.0.0.5" に強制的に上書きされる。
\=====

NetBox側の事前準備

NetBoxのCustomization -> Tags の順に選択

  • 設定したいタグ名を入力しておく.env.exampleファイルの NETBOX_PREFIX_TAG と連携
    NetBoxのAdmin ->API Tokensの順に選択
    払いだしたAPIキーを .env.exampleファイルの NETBOX_API_KEY に入力
     
  • NetBoxのIPAM -> Prefixes の順に選択
    ・設定したいサブネットを入力 172.16.2.0/24 等
    この時、入力項目の Tags を選択することを忘れない。

docker版 netbox-ip-status

NetBox側
sudo vi /etc/nginx/sites-enabled/netbox

---
server {
   listen [::]:80 ipv6only=off;
・・・snip・・・
ssl_certificate はコメントアウト
・・・snip・・・
最下段全部コメントアウト
#server {
   # Redirect HTTP traffic to HTTPS
   #listen [::]:80 ipv6only=off;
   #server_name _;
   #return 301 https://$host$request_uri;
#}
---

↑ ssl 削除 , ポート 443 から 80 へ変更
これで、http://FQDN or IPでの接続が可能

Docker側

sudo docker run --dns 172.16.2.42 -e NETBOX_API_KEY="10a900abdb39d7d3a42bf750fd7324be74415a5e" -e NETBOX_URL="http://netbox.int.yukiafronia.com" -e NETBOX_PREFIX_TAG="homelab-1" ghcr.io/yamada-factory/netbox-ip-status:latest

トラブルシューティング
・sudo docker ps -a
・sudo docker logs コンテナID

定期実行するうえでは、cronで sudo docker run ・・・ を実行

Docker Compose版 netbox-ip-status

Dockerインストール

https://docs.docker.com/engine/install/ubuntu/

・for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

・sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

・ホームディレクトリに作成 (例)

compose.yml

---
services:
 netbox-ip-status:
   image: ghcr.io/yamada-factory/netbox-ip-status:latest
   env_file:
     - .env
---

gitから .env.example をコピー

.env

---
NETBOX_API_KEY="mofumofu"
NETBOX_URL="http://netbox.example.com"
NETBOX_PREFIX_TAG="homelab-1"
LOG_LEVEL=debug
---

・docker compose up (起動)

トラブルシューティング
・sudo docker ps -a
・sudo docker logs コンテナID


使用時の注意点
・WindowsはデフォルトでICMPを遮断するため、
ICMPのポートは空けておくこと

・kubernetes上に乗っているアプリケーションに関しては、
現在 ip-scanの対象外ぽい?

firefly-iii 自体が確認できないため。