RK3588 firefly net

RK3588 firefly net

 

firefly@firefly:~$ 
firefly@firefly:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
firefly@firefly:~$ 
firefly@firefly:~$ uname -a
Linux firefly 5.10.198 #50 SMP Tue Dec 9 14:15:36 CST 2025 aarch64 aarch64 aarch64 GNU/Linux
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30569
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 30569
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:          7.5Gi       1.9Gi       4.2Gi       308Mi       1.4Gi       5.2Gi
Swap:            0B          0B          0B
firefly@firefly:~$ 
firefly@firefly:~$ blkid 
/dev/mmcblk0p3: LABEL="boot" UUID="2e622061-07f7-4bdd-8255-b20421e325e4" TYPE="ext4" PARTLABEL="boot" PARTUUID="a5250000-0000-4c47-8000-11b6000039c2"
/dev/mmcblk0p6: LABEL="Ubuntu20.04" UUID="2c3d82c1-b442-4cb7-898d-15215d340b4e" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="614e0000-0000-4b53-8000-1d28000054a9"
/dev/mmcblk0p7: LABEL="userdata" UUID="21664833-7245-4186-a2e8-763a49a7f2ab" TYPE="ext4" PARTLABEL="userdata" PARTUUID="870d0000-0000-4753-8000-23a20000034e"
/dev/mmcblk0p1: PARTLABEL="uboot" PARTUUID="49330000-0000-4844-8000-4d700000624b"
/dev/mmcblk0p2: PARTLABEL="misc" PARTUUID="4c2a0000-0000-4415-8000-48bb000035ac"
/dev/mmcblk0p4: PARTLABEL="recovery" PARTUUID="3d2a0000-0000-4611-8000-5d49000064f6"
/dev/mmcblk0p5: PARTLABEL="backup" PARTUUID="fa360000-0000-4b62-8000-535c000062ae"
firefly@firefly:~$ 
firefly@firefly:~$ fdisk -l /dev/sda
Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: V300 500G-SSDV04
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ cat /etc/mtab 
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=3912872k,nr_inodes=978218,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=784256k,mode=755 0 0
/dev/mmcblk0p6 /root-ro ext4 ro,relatime 0 0
/dev/mmcblk0p7 /userdata ext4 rw,relatime 0 0
overlayroot / overlay rw,relatime,lowerdir=/root-ro,upperdir=/userdata/rootfs_overlay,workdir=/userdata/rootfs_overlay-workdir/_ 0 0
/root/dev/mmcblk0p3 /boot ext4 rw,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup2 /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
none /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=784252k,mode=700,uid=1000,gid=1000 0 0
overlay /userdata/docker/overlay2/984fef22c4d5c09bf163012040db254e9a3301c61876d453efec61556e35c08d/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/F53GNXUWD2J5364HHVW5P26REU:/userdata/docker/overlay2/l/EX2YRB4IM3WYVJSVWH3WI2MKV6:/userdata/docker/overlay2/l/NWWKCUKHWPROSK4WBIF5KFAC5F:/userdata/docker/overlay2/l/F6L5Y4RW7OMZEH33Y7INMOSOX5:/userdata/docker/overlay2/l/6ZHYTANO4JUZBXGR3RS4GJPNEG:/userdata/docker/overlay2/l/K3LTSLGXPIXGESM4DIRRDBZCTT:/userdata/docker/overlay2/l/3TUB3QGJWCA4PAOZZD7ICZD6M2:/userdata/docker/overlay2/l/W3JPWKZC2ONVBOBGK7R7XLWF6F,upperdir=/userdata/docker/overlay2/984fef22c4d5c09bf163012040db254e9a3301c61876d453efec61556e35c08d/diff,workdir=/userdata/docker/overlay2/984fef22c4d5c09bf163012040db254e9a3301c61876d453efec61556e35c08d/work 0 0
overlay /userdata/docker/overlay2/b6236641d4966539aea653a280f856f8f7600efa9aaecd64267301bad7229f00/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/LLRJBIGSX6D4MDV2LNPD4OUCU2:/userdata/docker/overlay2/l/XN2XEBIDBR4H2QQNPNEMJYQOD2:/userdata/docker/overlay2/l/TNYKVPYZQWQ4EIHYCEBHGTWMBF,upperdir=/userdata/docker/overlay2/b6236641d4966539aea653a280f856f8f7600efa9aaecd64267301bad7229f00/diff,workdir=/userdata/docker/overlay2/b6236641d4966539aea653a280f856f8f7600efa9aaecd64267301bad7229f00/work 0 0
overlay /userdata/docker/overlay2/f74056cab483ef3c433e8721126f9b81678f5a1a23f09855050454f14f702cae/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/GG53SMPRBK7235ERX3G7PENOLK:/userdata/docker/overlay2/l/LEJOJTLHZU6YS4MKE4EH73Z5OI,upperdir=/userdata/docker/overlay2/f74056cab483ef3c433e8721126f9b81678f5a1a23f09855050454f14f702cae/diff,workdir=/userdata/docker/overlay2/f74056cab483ef3c433e8721126f9b81678f5a1a23f09855050454f14f702cae/work 0 0
overlay /userdata/docker/overlay2/e459bbcde317b62dc08567a3cf246f26233cf39d6775a9c495d26d5e39cab0e4/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/VVLEB6CT6X4VDW2S3MJ3SBM7ZO:/userdata/docker/overlay2/l/MSZXHHDRIBXFKXYQLPOCYGIQKW:/userdata/docker/overlay2/l/RAQ7TGANMW6VDWV4GTXNJTAVGT:/userdata/docker/overlay2/l/UOCNWTU7HGWWQ43RATER55OKIM:/userdata/docker/overlay2/l/KQ2IRE3CBSPXDZQTUD6YM63XMY:/userdata/docker/overlay2/l/5KK2AUDDR5A45KPFECHSWFLDTT:/userdata/docker/overlay2/l/A5VHJ5JPYQHQX7XC76S3ALZYKO:/userdata/docker/overlay2/l/WDHMDPZ4FIKFLM5Z7RWZOFBOTO:/userdata/docker/overlay2/l/42LFPGA6JLPJPEYIZMDJB2VSMN,upperdir=/userdata/docker/overlay2/e459bbcde317b62dc08567a3cf246f26233cf39d6775a9c495d26d5e39cab0e4/diff,workdir=/userdata/docker/overlay2/e459bbcde317b62dc08567a3cf246f26233cf39d6775a9c495d26d5e39cab0e4/work 0 0
overlay /userdata/docker/overlay2/978b66336ae4e32b7e11a1abe5387dcf800b96d9f8328e435fd4e7bec8757b81/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/5BL4CAPC5BW6AQVOAV7I6YYS2J:/userdata/docker/overlay2/l/BR2L3VYNONJBEYZLFLCDVTVOKN:/userdata/docker/overlay2/l/GHILWISQ4ADPAIHJHKUNJDLS76:/userdata/docker/overlay2/l/CSDF423EZNMX2NLV32ZMAGPQ23:/userdata/docker/overlay2/l/7TCP3BXZFP7RGB3SULBWS7RPJN:/userdata/docker/overlay2/l/SCXOBWKCBZ6MRWXEF3EHJJ6IZI:/userdata/docker/overlay2/l/SHI7CSRG22LZPC47T2YEA5A3SU:/userdata/docker/overlay2/l/5LNA2MLRQMFDVJ2ZJ4IPGCCBFU:/userdata/docker/overlay2/l/42LFPGA6JLPJPEYIZMDJB2VSMN,upperdir=/userdata/docker/overlay2/978b66336ae4e32b7e11a1abe5387dcf800b96d9f8328e435fd4e7bec8757b81/diff,workdir=/userdata/docker/overlay2/978b66336ae4e32b7e11a1abe5387dcf800b96d9f8328e435fd4e7bec8757b81/work 0 0
overlay /userdata/docker/overlay2/8457966d7a75d181da044757793b8c491084930413e18c6961ad368e56379f54/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/NOFZUD2CGZOMDUYE3X7SH2KLQX:/userdata/docker/overlay2/l/K5N5GFRK3D53FXEBINWWGARW6R:/userdata/docker/overlay2/l/ZZ67TQFWRQLV6PDUF7HAD25IWH:/userdata/docker/overlay2/l/GZNZJ2VJ7PCFEHXNNAW54CSL3U:/userdata/docker/overlay2/l/5U5JBVTTEOI46WSZ3M5UOBGV6L:/userdata/docker/overlay2/l/LIQDPPWAVCEFM2UHAAJ42R3GB7:/userdata/docker/overlay2/l/XQSWKIFW5QKMH6XPRWSOP6ZOWP:/userdata/docker/overlay2/l/HCPJ5BFUNHQUVODV3VQX35XWC5:/userdata/docker/overlay2/l/KRXEJQGD5IGKNCL7C5ZEH3752T:/userdata/docker/overlay2/l/U2OZ46F4IFXQT745JAUDR5O7AT:/userdata/docker/overlay2/l/B7MPRCXLGWECIKO2VYTAXVG5UR,upperdir=/userdata/docker/overlay2/8457966d7a75d181da044757793b8c491084930413e18c6961ad368e56379f54/diff,workdir=/userdata/docker/overlay2/8457966d7a75d181da044757793b8c491084930413e18c6961ad368e56379f54/work 0 0
overlay /userdata/docker/overlay2/3a679d3636ac9b31e472f53bdc25a922c87e276776373b9f6134701486086f55/merged overlay rw,relatime,lowerdir=/userdata/docker/overlay2/l/QCE2MXURPRZKEDKQFC4CBARGH4:/userdata/docker/overlay2/l/NHO6PFT7HM4NIAS5T5L5GOLYUF:/userdata/docker/overlay2/l/3XEW6KRSKBR4SZVPAN7U3PR4CQ:/userdata/docker/overlay2/l/O2HGDNNVM33VSJDXWEETTQFEIG:/userdata/docker/overlay2/l/2I55QSKMPZT5OWZ3LYFL6WM25L:/userdata/docker/overlay2/l/E5H22ERGW4RF22XO5HG6NMYXKO,upperdir=/userdata/docker/overlay2/3a679d3636ac9b31e472f53bdc25a922c87e276776373b9f6134701486086f55/diff,workdir=/userdata/docker/overlay2/3a679d3636ac9b31e472f53bdc25a922c87e276776373b9f6134701486086f55/work 0 0
nsfs /run/docker/netns/default nsfs rw 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
nsfs /run/docker/netns/03168d0db25c nsfs rw 0 0
nsfs /run/docker/netns/9ce988f5f906 nsfs rw 0 0
nsfs /run/docker/netns/927b29644417 nsfs rw 0 0
nsfs /run/docker/netns/6b8f63478f0d nsfs rw 0 0
tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=784252k,mode=700 0 0
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ cat /proc/partitions 
major minor  #blocks  name

   1        0       4096 ram0
 179        0   61071360 mmcblk0
 179        1       8192 mmcblk0p1
 179        2       4096 mmcblk0p2
 179        3     262144 mmcblk0p3
 179        4     131072 mmcblk0p4
 179        5      32768 mmcblk0p5
 179        6    6291456 mmcblk0p6
 179        7   54333423 mmcblk0p7
   8        0  488386584 sda
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ cat /proc/mtd 
dev:    size   erasesize  name
firefly@firefly:~$ 
firefly@firefly:~$ df -Th
Filesystem          Type      Size  Used Avail Use% Mounted on
udev                devtmpfs  3.8G  8.0K  3.8G   1% /dev
tmpfs               tmpfs     766M  2.3M  764M   1% /run
/dev/mmcblk0p6      ext4      2.4G  2.2G   16M 100% /root-ro
/dev/mmcblk0p7      ext4       51G  9.9G   39G  21% /userdata
overlayroot         overlay    51G  9.9G   39G  21% /
/root/dev/mmcblk0p3 ext4      224M   92M  115M  45% /boot
tmpfs               tmpfs     3.8G     0  3.8G   0% /dev/shm
tmpfs               tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs               tmpfs     3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs               tmpfs     766M   12K  766M   1% /run/user/1000
tmpfs               tmpfs     766M     0  766M   0% /run/user/0
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /
total 104K
drwxr-xr-x   1 root root 4.0K Jun 21  2024 .
drwxr-xr-x   1 root root 4.0K Jun 21  2024 ..
lrwxrwxrwx   1 root root    7 Aug 30  2022 bin -> usr/bin
drwxr-xr-x   5 root root 4.0K Dec  9  2025 boot
drwxr-xr-x   6 root root 4.0K Jul 27 13:20 data
drwxr-xr-x  19 root root 4.0K Jul 27 13:20 dev
drwxr-xr-x   1 root root 4.0K Jul 27 13:20 etc
drwxr-xr-x   1 root root 4.0K Jun 21  2024 home
lrwxrwxrwx   1 root root    7 Aug  3  2023 lib -> usr/lib
drwx------   2 root root  16K Sep 10  2024 lost+found
drwxr-xr-x   2 root root 4.0K Aug 30  2022 media
drwxr-xr-x   2 root root 4.0K Aug 30  2022 mnt
drwxr-xr-x   1 root root 4.0K Jun 21  2024 opt
dr-xr-xr-x 374 root root    0 Jan  1  1970 proc
drwx------   1 root root 4.0K Jun 21  2024 root
drwxr-xr-x  19 root root 4.0K Sep 10  2024 root-ro
drwxr-xr-x  24 root root  700 Jul 27 13:20 run
lrwxrwxrwx   1 root root    8 Aug 30  2022 sbin -> usr/sbin
drwxr-xr-x   2 root root 4.0K Aug 30  2022 srv
dr-xr-xr-x  14 root root    0 Jan  1  1970 sys
drwxr-xr-x   4 root root 4.0K Aug  3  2023 system
drwxrwxrwt  13 root root 4.0K Jul 27 13:20 tmp
drwxr-xr-x   7 root root 4.0K Jan  1  1970 userdata
drwxr-xr-x   1 root root 4.0K Jul 27 13:20 usr
drwxr-xr-x   1 root root 4.0K Aug 30  2022 var
drwxr-xr-x   3 root root 4.0K Aug  3  2023 vendor
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /userdata/
total 40K
drwxr-xr-x  7 root root 4.0K Jan  1  1970 .
drwxr-xr-x  1 root root 4.0K Jun 21  2024 ..
drwx--x--- 12 root root 4.0K Jul 27 13:20 docker
drwx------  2 root root  16K Jan  1  1970 lost+found
drwxr-xr-x  2 root root 4.0K Jan  1  1970 recovery
drwxr-xr-x 12 root root 4.0K Jun 21  2024 rootfs_overlay
drwxr-xr-x  3 root root 4.0K Jan  1  1970 rootfs_overlay-workdir
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /userdata/rootfs_overlay/
total 64K
drwxr-xr-x 12 root root 4.0K Jun 21  2024 .
drwxr-xr-x  7 root root 4.0K Jan  1  1970 ..
drwxr-xr-x  6 root root 4.0K Jul 27 13:20 data
drwxr-xr-x 16 root root 4.0K Jul 27 13:20 etc
drwxr-xr-x  4 root root 4.0K Jun 21  2024 home
drwxr-xr-x  3 root root 4.0K Jun 21  2024 opt
drwx------  3 root root 4.0K Jun 21  2024 root
drwxr-xr-x  2 root root 4.0K Jan  1  1970 root-ro
drwxrwxrwt 13 root root 4.0K Jul 27 13:20 tmp
drwxr-xr-x  2 root root 4.0K Jan  1  1970 userdata
drwxr-xr-x  8 root root 4.0K Jul 27 13:20 usr
drwxr-xr-x  8 root root 4.0K Aug 30  2022 var
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /userdata/rootfs_overlay-workdir/
total 12K
drwxr-xr-x 3 root root 4.0K Jan  1  1970 .
drwxr-xr-x 7 root root 4.0K Jan  1  1970 ..
drwxr-xr-x 3 root root 4.0K Jan  1  1970 _
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /usr/local/bin/firefly/
total 24K
drwxr-xr-x 2 root root 4.0K May  7  2024 .
drwxr-xr-x 4 root root 4.0K Sep 10  2024 ..
-rw-r--r-- 1 root root  309 May  7  2024 config
-rwxr-xr-x 1 root root   90 Aug 24  2023 firefly-led.sh
-rwxr-xr-x 1 root root  311 Aug 24  2023 firefly-net-check.sh
-rwxr-xr-x 1 root root  828 May  7  2024 firefly-usb-check.sh
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /usr/local/bin/model/
total 28K
drwxrwxr-x 6 1007 1008 4.0K Sep 10  2024 .
drwxr-xr-x 4 root root 4.0K Sep 10  2024 ..
-rw-rw-rw- 1 1007 1008  621 Dec  7  2023 coco_80_labels_list.txt
drwxrwxr-x 2 1007 1008 4.0K Sep 10  2024 RK3562
drwxrwxr-x 2 1007 1008 4.0K Sep 10  2024 RK3566_RK3568
drwxrwxr-x 2 1007 1008 4.0K Sep 10  2024 RK3588
drwxrwxr-x 2 1007 1008 4.0K Sep 10  2024 RV110X
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /usr/local/bin/model/RK3588/
total 8.2M
drwxrwxr-x 2 1007 1008 4.0K Sep 10  2024 .
drwxrwxr-x 6 1007 1008 4.0K Sep 10  2024 ..
-rw-rw-rw- 1 1007 1008 8.2M Dec 16  2023 yolov5s-640-640.rknn
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /usr/local/sbin/
total 28K
drwxr-xr-x 1 root root 4.0K Jun 20  2024 .
drwxr-xr-x 1 root root 4.0K Aug  3  2023 ..
-rwxr-xr-x 1 root root 3.4K Aug 30  2022 unminimize
-rwxr-xr-x 1 root root 1.3K Jun 20  2024 visionlink-camera-rtsp-forward.sh
-rwxr-xr-x 1 root root 1.1K Jun 20  2024 visionlink-init-port-forward.sh
-rwxr-xr-x 1 root root  247 Jun 21  2024 visionlink-init-static-network.sh
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ ls -alh /usr/local/sbin/
total 24K
drwxr-xr-x 1 root root 4.0K Jun 20  2024 .
drwxr-xr-x 1 root root 4.0K Aug  3  2023 ..
-rwxr-xr-x 1 root root 3.4K Aug 29  2022 unminimize
-rwxr-xr-x 1 root root 1.9K Jun 20  2024 visionlink-init-port-forward.sh
-rwxr-xr-x 1 root root  247 Jun 20  2024 visionlink-init-static-network.sh
firefly@firefly:~$ 
firefly@firefly:~$ cat /usr/local/sbin/visionlink-init-port-forward.sh 
#!/usr/bin/env bash
set -e

# 设置IP转发
if [ "$(sysctl -n net.ipv4.ip_forward)" -ne 1 ]; then
  sysctl -w net.ipv4.ip_forward=1
fi

# 添加NTP端口转发
gw_addr=$(ip route show default | awk '{print $3}')
ntp_active=$( ss -alnup sport = :123 | tail -n +2 | wc -l )
if [ -n "$gw_addr" ] && [ "$ntp_active" -eq 0 ]; then
  iptables -t nat -C PREROUTING -i eth1 -p udp --dport 123 -j DNAT --to-destination "$gw_addr":123 2>/dev/null ||
    iptables -t nat -A PREROUTING -i eth1 -p udp --dport 123 -j DNAT --to-destination "$gw_addr":123

  iptables -t nat -C POSTROUTING -o eth0 -p udp -d "$gw_addr" --dport 123 -j MASQUERADE 2>/dev/null ||
    iptables -t nat -A POSTROUTING -o eth0 -p udp -d "$gw_addr" --dport 123 -j MASQUERADE
fi

# 每项格式:“盒子入口端口 摄像头IP 摄像头目标端口”。
# 前四项将盒子 8081~8084 映射到四台摄像头的 Web 端口 80;
# 后四项将盒子 555~558 映射到四台摄像头的 RTSP 端口 554。
for rule in \
    "8081 192.168.200.201 80" \
    "8082 192.168.200.202 80" \
    "8083 192.168.200.203 80" \
    "8084 192.168.200.204 80" \
    "555 192.168.200.201 554" \
    "556 192.168.200.202 554" \
    "557 192.168.200.203 554" \
    "558 192.168.200.204 554"; do
    set -- $rule
    port="$1"
    dst="$2"
    dst_port="$3"

    # 同一入口端口只保留当前目标,避免升级旧脚本后错误规则仍优先命中。
    while true; do
        rule_number=$(iptables -t nat -L PREROUTING -n --line-numbers | \
            awk -v target="dpt:$port" '$0 ~ target {print $1; exit}')
        [ -n "$rule_number" ] || break
        iptables -t nat -D PREROUTING "$rule_number"
    done
    iptables -t nat -A PREROUTING -p tcp --dport "$port" \
        -j DNAT --to-destination "$dst:$dst_port"

    if ! iptables -t nat -C POSTROUTING -p tcp -d "$dst" --dport "$dst_port" \
        -j MASQUERADE 2>/dev/null; then
        iptables -t nat -A POSTROUTING -p tcp -d "$dst" --dport "$dst_port" \
            -j MASQUERADE
    fi

    if ! iptables -C FORWARD -p tcp -d "$dst" --dport "$dst_port" \
        -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT 2>/dev/null; then
        iptables -I FORWARD 1 -p tcp -d "$dst" --dport "$dst_port" \
            -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    fi

    if ! iptables -C FORWARD -p tcp -s "$dst" --sport "$dst_port" \
        -m conntrack --ctstate ESTABLISHED -j ACCEPT 2>/dev/null; then
        iptables -I FORWARD 1 -p tcp -s "$dst" --sport "$dst_port" \
            -m conntrack --ctstate ESTABLISHED -j ACCEPT
    fi
done
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ cat /usr/local/sbin/visionlink-init-static-network.sh 
#!/usr/bin/env bash
set -e
ip link set "eth0" up || true
ip link set "eth1" up || true
ip addr replace "192.168.100.249/24" dev "eth0"
ip addr replace "192.168.200.200/24" dev "eth1"
ip route replace default via "192.168.100.1" dev "eth0" || true
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ cat /etc/systemd/system/visionlink-init-port-forward.service 
[Unit]
Description=VisionLink RK3588 camera TCP port forwarding
After=visionlink-init-static-network.service network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/visionlink-init-port-forward.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ cat /etc/systemd/system/visionlink-init-static-network.service
[Unit]
Description=Set VisionLink RK3588 static network addresses
After=NetworkManager.service network-pre.target
Wants=NetworkManager.service

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/visionlink-init-static-network.sh

[Install]
WantedBy=multi-user.target
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo systemctl status visionlink-init-port-forward.service 
● visionlink-init-port-forward.service - VisionLink RK3588 camera TCP port forwarding
     Loaded: loaded (/etc/systemd/system/visionlink-init-port-forward.service; enabled; vendor preset: enabled)
     Active: active (exited) since Thu 2024-06-20 09:58:47 UTC; 1h 45min ago
   Main PID: 822 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 9170)
     Memory: 0B
     CGroup: /system.slice/visionlink-init-port-forward.service

Jun 20 09:58:47 firefly systemd[1]: Starting VisionLink RK3588 camera TCP port forwarding...
Jun 20 09:58:47 firefly systemd[1]: Finished VisionLink RK3588 camera TCP port forwarding.
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo systemctl status visionlink-init-static-network.service 
● visionlink-init-static-network.service - Set VisionLink RK3588 static network addresses
     Loaded: loaded (/etc/systemd/system/visionlink-init-static-network.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Thu 2024-06-20 09:58:47 UTC; 1h 45min ago
   Main PID: 789 (code=exited, status=0/SUCCESS)

Jun 20 09:58:47 firefly systemd[1]: Starting Set VisionLink RK3588 static network addresses...
Jun 20 09:58:47 firefly systemd[1]: visionlink-init-static-network.service: Succeeded.
Jun 20 09:58:47 firefly systemd[1]: Finished Set VisionLink RK3588 static network addresses.
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection 
[connection]
id=Wired connection 1
uuid=cdc0dddd-613f-382e-badf-d64e180a25c1
type=ethernet
autoconnect-priority=100
interface-name=eth0
permissions=
timestamp=1718883527

[ethernet]
mac-address-blacklist=

[ipv4]
address1=192.168.100.249/24,192.168.100.1
dns=114.114.114.114;223.5.5.5;8.8.8.8;
dns-search=
method=manual

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=ignore

[proxy]
firefly@firefly:~$ 
firefly@firefly:~$ sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 2.nmconnection 
[connection]
id=Wired connection 2
uuid=82d56152-aae4-3f53-84f6-d37769d3b0cc
type=ethernet
autoconnect-priority=100
interface-name=eth1
permissions=

[ethernet]
mac-address-blacklist=

[ipv4]
address1=192.168.200.200/24
dns-search=
method=manual
never-default=true

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=ignore

[proxy]
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo cat /etc/systemd/resolved.conf 
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details

[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
#DNSStubListener=yes
#ReadEtcHosts=yes
firefly@firefly:~$ 
firefly@firefly:~$ sudo systemctl restart systemd-resolved.service 
firefly@firefly:~$ 
firefly@firefly:~$ sudo resolvectl status
Global
       LLMNR setting: no                  
MulticastDNS setting: no                  
  DNSOverTLS setting: no                  
      DNSSEC setting: no                  
    DNSSEC supported: no                  
          DNSSEC NTA: 10.in-addr.arpa     
                      16.172.in-addr.arpa 
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa 
                      18.172.in-addr.arpa 
                      19.172.in-addr.arpa 
                      20.172.in-addr.arpa 
                      21.172.in-addr.arpa 
                      22.172.in-addr.arpa 
                      23.172.in-addr.arpa 
                      24.172.in-addr.arpa 
                      25.172.in-addr.arpa 
                      26.172.in-addr.arpa 
                      27.172.in-addr.arpa 
                      28.172.in-addr.arpa 
                      29.172.in-addr.arpa 
                      30.172.in-addr.arpa 
                      31.172.in-addr.arpa 
                      corp                
                      d.f.ip6.arpa        
                      home                
                      internal            
                      intranet            
                      lan                 
                      local               
                      private             
                      test                

Link 15 (veth8dc98aa)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 13 (veth16676ee)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 11 (veth424ca26)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 9 (veth3b7ced0)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 7 (docker0)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 6 (br-3434bd3a7128)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 5 (eth1)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 4 (eth0)
      Current Scopes: DNS            
DefaultRoute setting: yes            
       LLMNR setting: yes            
MulticastDNS setting: no             
  DNSOverTLS setting: no             
      DNSSEC setting: no             
    DNSSEC supported: no             
         DNS Servers: 114.114.114.114
                      223.5.5.5      
                      8.8.8.8        
          DNS Domain: ~.             

Link 3 (can0)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  

Link 2 (dummy0)
      Current Scopes: none
DefaultRoute setting: no  
       LLMNR setting: yes 
MulticastDNS setting: no  
  DNSOverTLS setting: no  
      DNSSEC setting: no  
    DNSSEC supported: no  
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo resolvectl statistics
DNSSEC supported by current servers: no

Transactions           
Current Transactions: 0
  Total Transactions: 0
                       
Cache                  
  Current Cache Size: 0
          Cache Hits: 0
        Cache Misses: 0
                       
DNSSEC Verdicts        
              Secure: 0
            Insecure: 0
               Bogus: 0
       Indeterminate: 0
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ journalctl -u systemd-resolved -n 10 -f
-- Logs begin at Thu 2024-06-20 09:58:46 UTC. --
Jun 22 02:57:14 firefly systemd-resolved[594]: Using degraded feature set (UDP) for DNS server 233.5.5.5.
-- Reboot --
Jul 28 04:56:52 firefly systemd[1]: Stopping Network Name Resolution...
Jul 28 04:56:52 firefly systemd[1]: systemd-resolved.service: Succeeded.
Jul 28 04:56:52 firefly systemd[1]: Stopped Network Name Resolution.
Jul 28 04:56:52 firefly systemd[1]: Starting Network Name Resolution...
Jul 28 04:56:52 firefly systemd-resolved[70029]: Positive Trust Anchors:
Jul 28 04:56:52 firefly systemd-resolved[70029]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
Jul 28 04:56:52 firefly systemd-resolved[70029]: Negative trust anchors: 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
Jul 28 04:56:52 firefly systemd-resolved[70029]: Using system hostname 'firefly'.
Jul 28 04:56:52 firefly systemd[1]: Started Network Name Resolution.
^C
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ date "+%Y-%m-%d %H:%M:%S %Z (UTC%:z) (%A)"
2026-07-28 04:57:55 UTC (UTC+00:00) (Tuesday)
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo timedatectl set-timezone Asia/Shanghai
firefly@firefly:~$ 
firefly@firefly:~$ timedatectl show
Timezone=Asia/Shanghai
LocalRTC=no
CanNTP=yes
NTP=yes
NTPSynchronized=yes
TimeUSec=Tue 2026-07-28 12:58:57 CST
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ timedatectl status
               Local time: Tue 2026-07-28 12:59:07 CST
           Universal time: Tue 2026-07-28 04:59:07 UTC
                 RTC time: n/a                        
                Time zone: Asia/Shanghai (CST, +0800) 
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no                         
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo cat /etc/systemd/timesyncd.conf 
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
#NTP=
#FallbackNTP=ntp.ubuntu.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo systemctl restart systemd-timesyncd.service
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ timedatectl show-timesync
FallbackNTPServers=ntp.ubuntu.com
ServerName=ntp.ubuntu.com
ServerAddress=185.125.190.56
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=1min 4s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-25, RootDelay=5.584ms, RootDispersion=1.129ms, Reference=63DC0885, OriginateTimestamp=Tue 2026-07-28 12:59:29 CST, ReceiveTimestamp=Tue 2026-07-28 12:59:29 CST, TransmitTimestamp=Tue 2026-07-28 12:59:29 CST, DestinationTimestamp=Tue 2026-07-28 12:59:29 CST, Ignored=no PacketCount=1, Jitter=0 }
Frequency=14707673
firefly@firefly:~$ 
firefly@firefly:~$ timedatectl timesync-status 
       Server: 185.125.190.56 (ntp.ubuntu.com) 
Poll interval: 1min 4s (min: 32s; max 34min 8s)
         Leap: normal                          
      Version: 4                               
      Stratum: 2                               
    Reference: 63DC0885                        
    Precision: 1us (-25)                       
Root distance: 3.921ms (max: 5s)               
       Offset: +26.659ms                       
        Delay: 235.155ms                       
       Jitter: 0                               
 Packet count: 1                               
    Frequency: +224.421ppm                     
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ timedatectl --monitor
               Local time: Tue 2026-07-28 13:00:02 CST
           Universal time: Tue 2026-07-28 05:00:02 UTC
                 RTC time: n/a                        
                Time zone: Asia/Shanghai (CST, +0800) 
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no                         
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ journalctl -u systemd-timesyncd -n 10 -f
-- Logs begin at Thu 2024-06-20 17:58:46 CST. --
Jun 20 20:42:51 firefly systemd[1]: systemd-timesyncd.service: Succeeded.
Jun 20 20:42:51 firefly systemd[1]: Starting Network Time Synchronization...
Jun 20 20:42:51 firefly systemd[1]: Started Network Time Synchronization.
-- Reboot --
Jul 28 11:35:36 firefly systemd-timesyncd[3254]: Initial synchronization to time server 91.189.91.157:123 (ntp.ubuntu.com).
Jul 28 12:59:29 firefly systemd[1]: Stopping Network Time Synchronization...
Jul 28 12:59:29 firefly systemd[1]: systemd-timesyncd.service: Succeeded.
Jul 28 12:59:29 firefly systemd[1]: Stopped Network Time Synchronization.
Jul 28 12:59:29 firefly systemd[1]: Starting Network Time Synchronization...
Jul 28 12:59:29 firefly systemd[1]: Started Network Time Synchronization.
Jul 28 12:59:29 firefly systemd-timesyncd[70923]: Initial synchronization to time server 185.125.190.56:123 (ntp.ubuntu.com).
^C
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ date "+%Y-%m-%d %H:%M:%S %Z (UTC%:z) (%A)"
2026-07-28 13:00:37 CST (UTC+08:00) (Tuesday)
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-3434bd3a7128
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
firefly@firefly:~$ 
firefly@firefly:~$ sudo ip route show
default via 192.168.100.1 dev eth0 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.21.0.0/16 dev br-3434bd3a7128 proto kernel scope link src 172.21.0.1 
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.249 
192.168.200.0/24 dev eth1 proto kernel scope link src 192.168.200.200 
firefly@firefly:~$ 
firefly@firefly:~$ sudo ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 2a:e9:b3:d8:d2:da brd ff:ff:ff:ff:ff:ff
3: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can 
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 6e:fc:ba:77:37:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.249/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::6cfc:baff:fe77:377e/64 scope link 
       valid_lft forever preferred_lft forever
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 6a:fc:ba:77:37:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.200/24 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::68fc:baff:fe77:377e/64 scope link 
       valid_lft forever preferred_lft forever
6: br-3434bd3a7128: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:62:2d:84:04 brd ff:ff:ff:ff:ff:ff
    inet 172.21.0.1/16 brd 172.21.255.255 scope global br-3434bd3a7128
       valid_lft forever preferred_lft forever
    inet6 fe80::42:62ff:fe2d:8404/64 scope link 
       valid_lft forever preferred_lft forever
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:70:d8:a0:e9 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
9: veth3b7ced0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP group default 
    link/ether 62:13:43:66:c4:d3 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::6013:43ff:fe66:c4d3/64 scope link 
       valid_lft forever preferred_lft forever
11: veth424ca26@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP group default 
    link/ether 76:1b:2b:a0:61:a6 brd ff:ff:ff:ff:ff:ff link-netnsid 3
    inet6 fe80::741b:2bff:fea0:61a6/64 scope link 
       valid_lft forever preferred_lft forever
13: veth16676ee@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP group default 
    link/ether 66:09:ba:23:51:f0 brd ff:ff:ff:ff:ff:ff link-netnsid 2
    inet6 fe80::6409:baff:fe23:51f0/64 scope link 
       valid_lft forever preferred_lft forever
15: veth8dc98aa@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP group default 
    link/ether d6:8b:37:84:37:ef brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::d48b:37ff:fe84:37ef/64 scope link 
       valid_lft forever preferred_lft forever
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 2a:e9:b3:d8:d2:da brd ff:ff:ff:ff:ff:ff
3: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
    link/can 
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 6e:fc:ba:77:37:7e brd ff:ff:ff:ff:ff:ff
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 6a:fc:ba:77:37:7e brd ff:ff:ff:ff:ff:ff
6: br-3434bd3a7128: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
    link/ether 02:42:62:2d:84:04 brd ff:ff:ff:ff:ff:ff
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 02:42:70:d8:a0:e9 brd ff:ff:ff:ff:ff:ff
9: veth3b7ced0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP mode DEFAULT group default 
    link/ether 62:13:43:66:c4:d3 brd ff:ff:ff:ff:ff:ff link-netnsid 0
11: veth424ca26@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP mode DEFAULT group default 
    link/ether 76:1b:2b:a0:61:a6 brd ff:ff:ff:ff:ff:ff link-netnsid 3
13: veth16676ee@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP mode DEFAULT group default 
    link/ether 66:09:ba:23:51:f0 brd ff:ff:ff:ff:ff:ff link-netnsid 2
15: veth8dc98aa@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-3434bd3a7128 state UP mode DEFAULT group default 
    link/ether d6:8b:37:84:37:ef brd ff:ff:ff:ff:ff:ff link-netnsid 1
firefly@firefly:~$ 
firefly@firefly:~$ sudo bridge link show
9: veth3b7ced0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-3434bd3a7128 state forwarding priority 32 cost 2 
11: veth424ca26@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-3434bd3a7128 state forwarding priority 32 cost 2 
13: veth16676ee@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-3434bd3a7128 state forwarding priority 32 cost 2 
15: veth8dc98aa@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-3434bd3a7128 state forwarding priority 32 cost 2 
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ docker ps
CONTAINER ID   IMAGE                                                      COMMAND                  CREATED       STATUS       PORTS                                                NAMES
67581849930f   192.168.1.7/visionlink/vision-link-edge-server:2.3.9-arm   "/bin/sh -c 'java ${…"   2 years ago   Up 2 years                                                        visionlink-edge-service-1
1af68e0e1607   192.168.1.7/visionlink/vision-link-edge-web:2.3.9-arm      "/docker-entrypoint.…"   2 years ago   Up 2 years   11110/tcp, 0.0.0.0:21180->80/tcp, :::21180->80/tcp   visionlink-edge-web-1
af5426d013bd   192.168.1.7/visionlink/visionlink-mediaserver:1.3.1        "/bin/sh -c ./MediaS…"   2 years ago   Up 2 years                                                        visionlink-edge-mediaserver-1
38adc75ba5e5   arm64v8/redis                                              "docker-entrypoint.s…"   2 years ago   Up 2 years   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp            visionlink-redis-1
d89fdec6ac2f   arm64v8/nginx:2.2.0                                        "/docker-entrypoint.…"   2 years ago   Up 2 years   80/tcp, 0.0.0.0:80->11110/tcp, :::80->11110/tcp      visionlink-nginx-1
a1e48a63da33   bitnami/mysql:5.7.42                                       "/opt/bitnami/script…"   2 years ago   Up 2 years   0.0.0.0:13306->3306/tcp, :::13306->3306/tcp          visionlink-mysql-1
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker images
REPOSITORY                                         TAG         IMAGE ID       CREATED         SIZE
192.168.1.7/visionlink/vision-link-edge-web        2.3.9-arm   b2d2ff537b20   27 hours ago    332MB
192.168.1.7/visionlink/vision-link-edge-server     2.3.9-arm   d1e3bf0514fe   27 hours ago    834MB
192.168.1.7/visionlink/vision-link-record-worker   2.3.9-arm   f96a11dea313   3 days ago      1.33GB
arm64v8/nginx                                      2.2.0       b3aeac8b030d   13 months ago   192MB
192.168.1.7/visionlink/visionlink-mediaserver      1.3.1       fea0b5d4dadd   2 years ago     383MB
arm64v8/redis                                      latest      2b2301a9e36e   2 years ago     158MB
bitnami/mysql                                      5.7.42      d8ffd11d3a3e   3 years ago     415MB
firefly@firefly:~$ 
firefly@firefly:~$ docker network ls
NETWORK ID     NAME                            DRIVER    SCOPE
fc4ddcf9095d   bridge                          bridge    local
33fca4629a93   host                            host      local
2f5d37025d4d   none                            null      local
3434bd3a7128   visionlink_visionlink-network   bridge    local
firefly@firefly:~$ 
firefly@firefly:~$ docker volume ls
DRIVER    VOLUME NAME
local     9458825c9d1847b7b10821b9ace03940433f6902558f66e861634440ef551dfb
local     a92c8e894aa40763f73d5530eadacae32d013dae8a8cb015b016525cd751925e
local     cc83771efc182b6ac851ea35d3cee3cd17f11870e8c4d6898156dea524eb751a
local     e7b6f197a8910f9883e533ee73b204f7d51226e612eba30152507476f56c35d0
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker inspect visionlink-edge-service-1
[
    {
        "Id": "67581849930f3e40fb8f5ccf6b77b1b577568cd18dc537b917530532e248a67e",
        "Created": "2024-06-20T12:41:26.681985175Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar     --spring.config.location=${CONFIG_LOCATION} ${SPRING_OPTS}"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1709,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-06-20T09:58:51.255588569Z",
            "FinishedAt": "2024-06-20T09:58:49.928023269Z"
        },
        "Image": "sha256:d1e3bf0514fe8f097757516e78ee262a8cb89fc7bff4dc86a2f1470b18a28414",
        "ResolvConfPath": "/userdata/docker/containers/67581849930f3e40fb8f5ccf6b77b1b577568cd18dc537b917530532e248a67e/resolv.conf",
        "HostnamePath": "/userdata/docker/containers/67581849930f3e40fb8f5ccf6b77b1b577568cd18dc537b917530532e248a67e/hostname",
        "HostsPath": "/userdata/docker/containers/67581849930f3e40fb8f5ccf6b77b1b577568cd18dc537b917530532e248a67e/hosts",
        "LogPath": "/userdata/docker/containers/67581849930f3e40fb8f5ccf6b77b1b577568cd18dc537b917530532e248a67e/67581849930f3e40fb8f5ccf6b77b1b577568cd18dc537b917530532e248a67e-json.log",
        "Name": "/visionlink-edge-service-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/wondertek/visionlink/app/file:/home/wondertek/visionlink/app/file:rw",
                "/home/wondertek/visionlink/license:/home/wondertek/license:rw",
                "/sbin/dmidecode:/sbin/dmidecode:rw",
                "/home/wondertek/visionlink/data/alarm_video:/mnt/disk/alarm_video:rw",
                "/home/wondertek/visionlink/file/temp/LifeJacketTempPic:/data/box/LifeJacketTempPic:rw",
                "/home/wondertek/visionlink/file/temp/HumanTempPic:/data/box/HumanTempPic:rw",
                "/home/wondertek/visionlink/logs/edge-service:/data/logs/vision-link-edge-server:rw",
                "/home/wondertek/visionlink/conf/edge-service:/app/conf:rw",
                "/home/wondertek/visionlink/data/sdk:/sdk:rw",
                "/home/wondertek/visionlink/alarm/alarm_video:/home/wondertek/visionlink/alarm/alarm_video:rw",
                "/:/host:rw",
                "/dev/mem:/dev/mem:rw",
                "/home/wondertek/structureData:/home/wondertek/structureData:rw",
                "/home/wondertek/visionlink/alarm:/home/wondertek/visionlink/alarm:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [
                "host.docker.internal:host-gateway"
            ],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": true,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": [
                "label=disable"
            ],
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 1610612736,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 3221225472,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": null,
            "ReadonlyPaths": null
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/userdata/docker/overlay2/a35776de68b78204b70263b25fa842c3583e40d5b5123990b883f4b76eabbf6b-init/diff:/userdata/docker/overlay2/f8826a506023569d4743e4347f3a0bf14186c72ee36ecd6905f2fbf94f0f3d68/diff:/userdata/docker/overlay2/1bc899325edfbc16c6936fcdc34a0689b05f3d1ed03121a7c8c2ad84ac15cd01/diff:/userdata/docker/overlay2/11e33d2770c6a251544d1c8209b57930208eac7d31d3dfef9f2dfc2795805fdc/diff:/userdata/docker/overlay2/d84a2c531ff22dfc92c8179038f652e6b86e463e7c51288927d06e050826f272/diff:/userdata/docker/overlay2/cb30c6bdb09c89fc1ff4559560d870d8ba3a717e3e7fd36f913798c3ab554e8a/diff:/userdata/docker/overlay2/f35367d987b7518f7d44b6424b9377180134512fe1043c46063dfcd3656ca703/diff",
                "MergedDir": "/userdata/docker/overlay2/a35776de68b78204b70263b25fa842c3583e40d5b5123990b883f4b76eabbf6b/merged",
                "UpperDir": "/userdata/docker/overlay2/a35776de68b78204b70263b25fa842c3583e40d5b5123990b883f4b76eabbf6b/diff",
                "WorkDir": "/userdata/docker/overlay2/a35776de68b78204b70263b25fa842c3583e40d5b5123990b883f4b76eabbf6b/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/file/temp/HumanTempPic",
                "Destination": "/data/box/HumanTempPic",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/license",
                "Destination": "/home/wondertek/license",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/structureData",
                "Destination": "/home/wondertek/structureData",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/sbin/dmidecode",
                "Destination": "/sbin/dmidecode",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/data/sdk",
                "Destination": "/sdk",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/conf/edge-service",
                "Destination": "/app/conf",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/file/temp/LifeJacketTempPic",
                "Destination": "/data/box/LifeJacketTempPic",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/logs/edge-service",
                "Destination": "/data/logs/vision-link-edge-server",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/alarm",
                "Destination": "/home/wondertek/visionlink/alarm",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/alarm/alarm_video",
                "Destination": "/home/wondertek/visionlink/alarm/alarm_video",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/dev/mem",
                "Destination": "/dev/mem",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/",
                "Destination": "/host",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rslave"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/data/alarm_video",
                "Destination": "/mnt/disk/alarm_video",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/app/file",
                "Destination": "/home/wondertek/visionlink/app/file",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "firefly",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "CONFIG_LOCATION=/app/conf/",
                "JAVA_OPTS=-Xmx1536m",
                "SPRING_PROFILES_ACTIVE=prod",
                "PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "JAVA_HOME=/usr/local/openjdk-8",
                "SPRING_OUTPUT_ANSI_ENABLED=ALWAYS",
                "SPRING_OPTS=",
                "LD_LIBRARY_PATH=/app/xffmpeg:"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar     --spring.config.location=${CONFIG_LOCATION} ${SPRING_OPTS}"
            ],
            "Image": "192.168.1.7/visionlink/vision-link-edge-server:2.3.9-arm",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "f54de3e62d501b7b9c2728d77cc154faeee76502ba28efec969b2e6f21dd51fa",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:d1e3bf0514fe8f097757516e78ee262a8cb89fc7bff4dc86a2f1470b18a28414",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "visionlink",
                "com.docker.compose.project.config_files": "/home/wondertek/visionlink/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/home/wondertek/visionlink",
                "com.docker.compose.service": "edge-service",
                "com.docker.compose.version": "2.35.1",
                "org.opencontainers.image.revision": "1e5406757a81627d416715466db67853dc96a5ff",
                "org.opencontainers.image.version": "2.3.9"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "9b94bdd986cc0268908263933f3c8ec5122a945bbc00cc904019b7f9cac78fe3",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "33fca4629a93635f6bfc09d3e383d3cdc6f73c44ea954c1e5799ad5162a807ab",
                    "EndpointID": "9105e8eabb108c359c992faba83279525bc31c49917324f0119ec2e41f0874df",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker inspect visionlink-edge-web-1
[
    {
        "Id": "1af68e0e1607845f6bd676f8383274b80289ba0a2c4d5c8ec91fb37703f0d2df",
        "Created": "2024-06-20T12:41:25.770473Z",
        "Path": "/docker-entrypoint.sh",
        "Args": [
            "nginx",
            "-g",
            "daemon off;"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1889,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-06-20T09:58:51.714800574Z",
            "FinishedAt": "2024-06-20T09:58:49.92116531Z"
        },
        "Image": "sha256:b2d2ff537b206a821db24d8a62437e8870c84c8ef3ef9edb06784d48d83c5319",
        "ResolvConfPath": "/userdata/docker/containers/1af68e0e1607845f6bd676f8383274b80289ba0a2c4d5c8ec91fb37703f0d2df/resolv.conf",
        "HostnamePath": "/userdata/docker/containers/1af68e0e1607845f6bd676f8383274b80289ba0a2c4d5c8ec91fb37703f0d2df/hostname",
        "HostsPath": "/userdata/docker/containers/1af68e0e1607845f6bd676f8383274b80289ba0a2c4d5c8ec91fb37703f0d2df/hosts",
        "LogPath": "/userdata/docker/containers/1af68e0e1607845f6bd676f8383274b80289ba0a2c4d5c8ec91fb37703f0d2df/1af68e0e1607845f6bd676f8383274b80289ba0a2c4d5c8ec91fb37703f0d2df-json.log",
        "Name": "/visionlink-edge-web-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/wondertek/visionlink/logs/web:/var/log/nginx:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "visionlink_visionlink-network",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "21180"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/userdata/docker/overlay2/d89f126f2a85418a7a29283b9742d5a9a56a825d26e62650cca85b3f47c1ff52-init/diff:/userdata/docker/overlay2/98543396dd949a31ea118f73a41778e4a90a99a006afd9fe3c48b2d2cac7f7e4/diff:/userdata/docker/overlay2/aae06ee62612b7160afbdd4ed57b027620abb7dbf5b8da16071e233b5215d9ed/diff:/userdata/docker/overlay2/24479311d6948d6dff56945faf9472b62a5660bf5ff68011acea850b107cebc7/diff:/userdata/docker/overlay2/ed67ddda943ca054e8dc157ecd41325dc58f63f9ebfd1804a61c0ddf2045ae47/diff:/userdata/docker/overlay2/3ce6581b2d5ae4d83d6cdb16e524e41d977de84278e68a5e957c158eb597b8c8/diff:/userdata/docker/overlay2/6a99b4ea54d3b1d6b3ef7b6f46d9558233597fe1a3119744694a2ceefc038691/diff:/userdata/docker/overlay2/b57869a288491b7f7f46586443453dbc37e00f1fa52edfda862bb53c7b4c9b50/diff:/userdata/docker/overlay2/8d2c669f3f090a524d83f0dc94b71012e505be172dafc9c83847341aee732c3b/diff:/userdata/docker/overlay2/f487953a249a815f9673ea098938e742a3b452ac85189d2292fd170977e0f2c3/diff:/userdata/docker/overlay2/096e6f3dca7df22f68e5228d8a3f6c1969b89e8930f64627064dbc58f10076ef/diff:/userdata/docker/overlay2/9f9943171d17b67d71afeaa6be3d2adf1614d62b3f9fb65b483a140de05c4880/diff:/userdata/docker/overlay2/ff604be7a0cf05aaaafadfaf5d9cd7141b61e2901781a01022727417a3f03447/diff",
                "MergedDir": "/userdata/docker/overlay2/d89f126f2a85418a7a29283b9742d5a9a56a825d26e62650cca85b3f47c1ff52/merged",
                "UpperDir": "/userdata/docker/overlay2/d89f126f2a85418a7a29283b9742d5a9a56a825d26e62650cca85b3f47c1ff52/diff",
                "WorkDir": "/userdata/docker/overlay2/d89f126f2a85418a7a29283b9742d5a9a56a825d26e62650cca85b3f47c1ff52/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/logs/web",
                "Destination": "/var/log/nginx",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "1af68e0e1607",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "11110/tcp": {},
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NGINX_VERSION=1.25.3",
                "NJS_VERSION=0.8.2",
                "PKG_RELEASE=1~bookworm"
            ],
            "Cmd": [
                "nginx",
                "-g",
                "daemon off;"
            ],
            "Image": "192.168.1.7/visionlink/vision-link-edge-web:2.3.9-arm",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "477b306e3809c7236623c84f867bda88578a80b0ce7a0ba449f510f1d792dd8d",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:b2d2ff537b206a821db24d8a62437e8870c84c8ef3ef9edb06784d48d83c5319",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "visionlink",
                "com.docker.compose.project.config_files": "/home/wondertek/visionlink/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/home/wondertek/visionlink",
                "com.docker.compose.replace": "8ab21b3060cd987ff0432746bcc1669d270ec767395af144fed49a5c540f4a45",
                "com.docker.compose.service": "edge-web",
                "com.docker.compose.version": "2.35.1",
                "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>",
                "org.opencontainers.image.revision": "3fee322018a0f6b0ced6da20fffe6b6b0efa4c34",
                "org.opencontainers.image.version": "2.3.9"
            },
            "StopSignal": "SIGQUIT"
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "d071de54549b15fca40a9fdef4447a871cffd67d33616f2743845ae12fc31cf5",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "11110/tcp": null,
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "21180"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "21180"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/d071de54549b",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "visionlink_visionlink-network": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "visionlink-edge-web-1",
                        "edge-web",
                        "1af68e0e1607"
                    ],
                    "NetworkID": "3434bd3a71288b8df73a0cb4ba63d19b68a1b090a79206eeeb16712052947c94",
                    "EndpointID": "1a85fe6b1c2f25aed12793cd4bec054eb51e1af81f5d8b48fd7d499241936d77",
                    "Gateway": "172.21.0.1",
                    "IPAddress": "172.21.0.5",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:15:00:05",
                    "DriverOpts": null
                }
            }
        }
    }
]
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker inspect visionlink-edge-mediaserver-1
[
    {
        "Id": "af5426d013bdc583b384a2bd742744ffdca1167499127ac9681d275c3f65bdf4",
        "Created": "2024-06-20T12:41:24.444392534Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "./MediaServer",
            "/bin/sh",
            "-c",
            "\"-d -m 30\""
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 1695,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-06-20T09:58:51.247814193Z",
            "FinishedAt": "2024-06-20T09:58:49.928086561Z"
        },
        "Image": "sha256:fea0b5d4daddfc5e9559382cd194a527889c753f048ab408d61543f9d994b024",
        "ResolvConfPath": "/userdata/docker/containers/af5426d013bdc583b384a2bd742744ffdca1167499127ac9681d275c3f65bdf4/resolv.conf",
        "HostnamePath": "/userdata/docker/containers/af5426d013bdc583b384a2bd742744ffdca1167499127ac9681d275c3f65bdf4/hostname",
        "HostsPath": "/userdata/docker/containers/af5426d013bdc583b384a2bd742744ffdca1167499127ac9681d275c3f65bdf4/hosts",
        "LogPath": "/userdata/docker/containers/af5426d013bdc583b384a2bd742744ffdca1167499127ac9681d275c3f65bdf4/af5426d013bdc583b384a2bd742744ffdca1167499127ac9681d275c3f65bdf4-json.log",
        "Name": "/visionlink-edge-mediaserver-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/wondertek/visionlink/conf/mediaServer/sysctl.conf:/etc/sysctl.d/sysctl.conf:rw",
                "/home/wondertek/visionlink/data/mediaServer/www:/data/MediaServer/www:rw",
                "/home/wondertek/visionlink/logs/mediaServer:/data/MediaServer/log:rw",
                "/home/wondertek/visionlink/logs/mediaServer/ffmpeg_log:/data/MediaServer/ffmpeg_log:rw",
                "/home/wondertek/visionlink/conf/mediaServer/config.ini:/data/MediaServer/config.ini:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": true,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": [
                "label=disable"
            ],
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": null,
            "ReadonlyPaths": null
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/userdata/docker/overlay2/d54ab6efb5a26c5bbfdec26fb21a55a4e0da2bacacd6f88fd7b5d65ee3bc9c91-init/diff:/userdata/docker/overlay2/4668f1baa9ca46ea51c048a07eed12b3ea5aa5c91ea67aaa869648c018eed4bc/diff:/userdata/docker/overlay2/0dd0d7076f11e0c0345e612957e5956939d9004d854670db179b22a15f7b1ac0/diff:/userdata/docker/overlay2/f50a5068b66ae4f5801d6a2154e9c9a3de78ad69790b0edef92fb42cb523cbff/diff:/userdata/docker/overlay2/eb12295581326b952f1fbc434348d8ac78c6ff4e57b0d34f53295e5b7010d043/diff:/userdata/docker/overlay2/64092df7cf1dfa0b042f2e0a71459190f25e3d0155ba5882b3fa4332b58b40f4/diff:/userdata/docker/overlay2/9d2fbfefcf37c07b1763fcdf029963021dd3145ae33a2afc49fdeee820d84050/diff:/userdata/docker/overlay2/469b58092177599ea423d96217a0a1117b8d631e36f7e714963487aacb80f68c/diff",
                "MergedDir": "/userdata/docker/overlay2/d54ab6efb5a26c5bbfdec26fb21a55a4e0da2bacacd6f88fd7b5d65ee3bc9c91/merged",
                "UpperDir": "/userdata/docker/overlay2/d54ab6efb5a26c5bbfdec26fb21a55a4e0da2bacacd6f88fd7b5d65ee3bc9c91/diff",
                "WorkDir": "/userdata/docker/overlay2/d54ab6efb5a26c5bbfdec26fb21a55a4e0da2bacacd6f88fd7b5d65ee3bc9c91/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/conf/mediaServer/config.ini",
                "Destination": "/data/MediaServer/config.ini",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/logs/mediaServer/ffmpeg_log",
                "Destination": "/data/MediaServer/ffmpeg_log",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/logs/mediaServer",
                "Destination": "/data/MediaServer/log",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/data/mediaServer/www",
                "Destination": "/data/MediaServer/www",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/wondertek/visionlink/conf/mediaServer/sysctl.conf",
                "Destination": "/etc/sysctl.d/sysctl.conf",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "firefly",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LD_LIBRARY_PATH=/data/MediaServer/wcae-lib:"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "\"-d -m 30\""
            ],
            "Image": "192.168.1.7/visionlink/visionlink-mediaserver:1.3.1",
            "Volumes": null,
            "WorkingDir": "/data/MediaServer",
            "Entrypoint": [
                "/bin/sh",
                "-c",
                "./MediaServer"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "0f700f942fefa01323aa2923be368dcba0459f2e4fa39db1cadc7111251d85be",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:fea0b5d4daddfc5e9559382cd194a527889c753f048ab408d61543f9d994b024",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "visionlink",
                "com.docker.compose.project.config_files": "/home/wondertek/visionlink/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/home/wondertek/visionlink",
                "com.docker.compose.service": "edge-mediaserver",
                "com.docker.compose.version": "2.35.1",
                "org.opencontainers.image.ref.name": "ubuntu",
                "org.opencontainers.image.version": "22.04"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "80993a6a51b04c44f9c0ac1b03cf4af4ef112e4ba3d4c96a2fce9f37f07ec904",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "33fca4629a93635f6bfc09d3e383d3cdc6f73c44ea954c1e5799ad5162a807ab",
                    "EndpointID": "d7f635725060c5826b128b60db6e0b688199029513016e11ab015a7115f4d608",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker exec -it visionlink-edge-service-1 /bin/sh
# 
# ls /   	  
app  app.jar  bin  boot  data  dev  etc  home  host  lib  media  mnt  opt  proc  root  run  sbin  sdk  srv  sys  tmp  usr  var
# 
# ps -ef 	
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 09:47 ?        00:00:00 /bin/sh -c java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar     
root           6       1  6 09:47 ?        00:13:04 java -Xmx1536m -Djava.security.egd=file:/dev/./urandom -jar /app.jar --spring.config.lo
root         784       0  0 13:06 pts/0    00:00:00 /bin/sh
root         791     784  0 13:06 pts/0    00:00:00 ps -ef
# 
# exit
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker exec -it visionlink-edge-web-1 /bin/sh
# 
# ls /
app  boot  docker-entrypoint.d	 etc   lib    mnt  proc  run   srv  tmp  var
bin  dev   docker-entrypoint.sh  home  media  opt  root  sbin  sys  usr  web
# 
# exit
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ docker exec -it visionlink-edge-mediaserver-1 /bin/sh
# 
# ls /
bin  boot  data  dev  etc  home  lib  libssl1.1_1.1.1f-1ubuntu2_arm64.deb  media  mnt  opt  proc  root	run  sbin  srv	sys  tmp  usr  var
# 
# ps -ef 
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 09:47 ?        00:00:00 /bin/sh -c ./MediaServer /bin/sh -c "-d -m 30"
root           7       1  8 09:47 ?        00:16:17 ./MediaServer
root          20       0  0 13:07 pts/0    00:00:00 /bin/sh
root          27      20  0 13:07 pts/0    00:00:00 ps -ef
# 
# exit
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo iptables-save 
# Generated by iptables-save v1.8.4 on Tue Jul 28 13:10:36 2026
*filter
:INPUT ACCEPT [233:23211]
:FORWARD ACCEPT [8:608]
:OUTPUT ACCEPT [258:32041]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o br-3434bd3a7128 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-3434bd3a7128 -j DOCKER
-A FORWARD -i br-3434bd3a7128 ! -o br-3434bd3a7128 -j ACCEPT
-A FORWARD -i br-3434bd3a7128 -o br-3434bd3a7128 -j ACCEPT
-A FORWARD -s 192.168.200.204/32 -p tcp -m tcp --sport 554 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.204/32 -p tcp -m tcp --dport 554 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.203/32 -p tcp -m tcp --sport 554 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.203/32 -p tcp -m tcp --dport 554 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.202/32 -p tcp -m tcp --sport 554 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.202/32 -p tcp -m tcp --dport 554 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.201/32 -p tcp -m tcp --sport 554 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.201/32 -p tcp -m tcp --dport 554 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.204/32 -p tcp -m tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.204/32 -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.203/32 -p tcp -m tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.203/32 -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.202/32 -p tcp -m tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.202/32 -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.200.201/32 -p tcp -m tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.200.201/32 -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A DOCKER -d 172.21.0.2/32 ! -i br-3434bd3a7128 -o br-3434bd3a7128 -p tcp -m tcp --dport 3306 -j ACCEPT
-A DOCKER -d 172.21.0.3/32 ! -i br-3434bd3a7128 -o br-3434bd3a7128 -p tcp -m tcp --dport 6379 -j ACCEPT
-A DOCKER -d 172.21.0.4/32 ! -i br-3434bd3a7128 -o br-3434bd3a7128 -p tcp -m tcp --dport 11110 -j ACCEPT
-A DOCKER -d 172.21.0.5/32 ! -i br-3434bd3a7128 -o br-3434bd3a7128 -p tcp -m tcp --dport 80 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-3434bd3a7128 ! -o br-3434bd3a7128 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-3434bd3a7128 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Tue Jul 28 13:10:36 2026
# Generated by iptables-save v1.8.4 on Tue Jul 28 13:10:36 2026
*nat
:PREROUTING ACCEPT [6:1696]
:INPUT ACCEPT [6:1696]
:OUTPUT ACCEPT [17:1147]
:POSTROUTING ACCEPT [17:1147]
:DOCKER - [0:0]
-A PREROUTING -i eth1 -p udp -m udp --dport 123 -j DNAT --to-destination 192.168.100.1:123
-A PREROUTING -p tcp -m tcp --dport 8081 -j DNAT --to-destination 192.168.200.201:80
-A PREROUTING -p tcp -m tcp --dport 8082 -j DNAT --to-destination 192.168.200.202:80
-A PREROUTING -p tcp -m tcp --dport 8083 -j DNAT --to-destination 192.168.200.203:80
-A PREROUTING -p tcp -m tcp --dport 8084 -j DNAT --to-destination 192.168.200.204:80
-A PREROUTING -p tcp -m tcp --dport 555 -j DNAT --to-destination 192.168.200.201:554
-A PREROUTING -p tcp -m tcp --dport 556 -j DNAT --to-destination 192.168.200.202:554
-A PREROUTING -p tcp -m tcp --dport 557 -j DNAT --to-destination 192.168.200.203:554
-A PREROUTING -p tcp -m tcp --dport 558 -j DNAT --to-destination 192.168.200.204:554
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A POSTROUTING -s 172.21.0.0/16 ! -o br-3434bd3a7128 -j MASQUERADE
-A POSTROUTING -d 192.168.100.1/32 -o eth0 -p udp -m udp --dport 123 -j MASQUERADE
-A POSTROUTING -d 192.168.200.201/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A POSTROUTING -d 192.168.200.202/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A POSTROUTING -d 192.168.200.203/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A POSTROUTING -d 192.168.200.204/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A POSTROUTING -d 192.168.200.201/32 -p tcp -m tcp --dport 554 -j MASQUERADE
-A POSTROUTING -d 192.168.200.202/32 -p tcp -m tcp --dport 554 -j MASQUERADE
-A POSTROUTING -d 192.168.200.203/32 -p tcp -m tcp --dport 554 -j MASQUERADE
-A POSTROUTING -d 192.168.200.204/32 -p tcp -m tcp --dport 554 -j MASQUERADE
-A POSTROUTING -s 172.21.0.2/32 -d 172.21.0.2/32 -p tcp -m tcp --dport 3306 -j MASQUERADE
-A POSTROUTING -s 172.21.0.3/32 -d 172.21.0.3/32 -p tcp -m tcp --dport 6379 -j MASQUERADE
-A POSTROUTING -s 172.21.0.4/32 -d 172.21.0.4/32 -p tcp -m tcp --dport 11110 -j MASQUERADE
-A POSTROUTING -s 172.21.0.5/32 -d 172.21.0.5/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A DOCKER -i docker0 -j RETURN
-A DOCKER -i br-3434bd3a7128 -j RETURN
-A DOCKER ! -i br-3434bd3a7128 -p tcp -m tcp --dport 13306 -j DNAT --to-destination 172.21.0.2:3306
-A DOCKER ! -i br-3434bd3a7128 -p tcp -m tcp --dport 6379 -j DNAT --to-destination 172.21.0.3:6379
-A DOCKER ! -i br-3434bd3a7128 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.21.0.4:11110
-A DOCKER ! -i br-3434bd3a7128 -p tcp -m tcp --dport 21180 -j DNAT --to-destination 172.21.0.5:80
COMMIT
# Completed on Tue Jul 28 13:10:36 2026
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo iptables -t filter -L FORWARD  -v -n --line-numbers
Chain FORWARD (policy ACCEPT 44 packets, 3344 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1    22317 6891K DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
2    22317 6891K DOCKER-ISOLATION-STAGE-1  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
3        0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
4        0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
5        0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
6        0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0           
7        0     0 ACCEPT     all  --  *      br-3434bd3a7128  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
8        0     0 DOCKER     all  --  *      br-3434bd3a7128  0.0.0.0/0            0.0.0.0/0           
9        0     0 ACCEPT     all  --  br-3434bd3a7128 !br-3434bd3a7128  0.0.0.0/0            0.0.0.0/0           
10       0     0 ACCEPT     all  --  br-3434bd3a7128 br-3434bd3a7128  0.0.0.0/0            0.0.0.0/0           
11    3719 2103K ACCEPT     tcp  --  *      *       192.168.200.204      0.0.0.0/0            tcp spt:554 ctstate ESTABLISHED
12    3626  193K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.204      tcp dpt:554 ctstate NEW,ESTABLISHED
13    3661 2095K ACCEPT     tcp  --  *      *       192.168.200.203      0.0.0.0/0            tcp spt:554 ctstate ESTABLISHED
14    3643  194K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.203      tcp dpt:554 ctstate NEW,ESTABLISHED
15       0     0 ACCEPT     tcp  --  *      *       192.168.200.202      0.0.0.0/0            tcp spt:554 ctstate ESTABLISHED
16     247 14820 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.202      tcp dpt:554 ctstate NEW,ESTABLISHED
17    3718 2095K ACCEPT     tcp  --  *      *       192.168.200.201      0.0.0.0/0            tcp spt:554 ctstate ESTABLISHED
18    3659  194K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.201      tcp dpt:554 ctstate NEW,ESTABLISHED
19       0     0 ACCEPT     tcp  --  *      *       192.168.200.204      0.0.0.0/0            tcp spt:80 ctstate ESTABLISHED
20       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.204      tcp dpt:80 ctstate NEW,ESTABLISHED
21       0     0 ACCEPT     tcp  --  *      *       192.168.200.203      0.0.0.0/0            tcp spt:80 ctstate ESTABLISHED
22       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.203      tcp dpt:80 ctstate NEW,ESTABLISHED
23       0     0 ACCEPT     tcp  --  *      *       192.168.200.202      0.0.0.0/0            tcp spt:80 ctstate ESTABLISHED
24       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.202      tcp dpt:80 ctstate NEW,ESTABLISHED
25       0     0 ACCEPT     tcp  --  *      *       192.168.200.201      0.0.0.0/0            tcp spt:80 ctstate ESTABLISHED
26       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.200.201      tcp dpt:80 ctstate NEW,ESTABLISHED
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo iptables -t nat -L -v -n --line-numbers
Chain PREROUTING (policy ACCEPT 6 packets, 1696 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       22  1672 DNAT       udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0            udp dpt:123 to:192.168.100.1:123
2        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8081 to:192.168.200.201:80
3        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8082 to:192.168.200.202:80
4        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8083 to:192.168.200.203:80
5        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8084 to:192.168.200.204:80
6        2   453 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:555 to:192.168.200.201:554
7      101  6060 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:556 to:192.168.200.202:554
8        2   453 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:557 to:192.168.200.203:554
9        2   453 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:558 to:192.168.200.204:554
10       6  1696 DOCKER     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 6 packets, 1696 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 203 packets, 12460 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 DOCKER     all  --  *      *       0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 203 packets, 12460 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0           
2        0     0 MASQUERADE  all  --  *      !br-3434bd3a7128  172.21.0.0/16        0.0.0.0/0           
3       22  1672 MASQUERADE  udp  --  *      eth0    0.0.0.0/0            192.168.100.1        udp dpt:123
4        0     0 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.201      tcp dpt:80
5        0     0 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.202      tcp dpt:80
6        0     0 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.203      tcp dpt:80
7        0     0 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.204      tcp dpt:80
8        2   453 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.201      tcp dpt:554
9      101  6060 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.202      tcp dpt:554
10       2   453 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.203      tcp dpt:554
11       2   453 MASQUERADE  tcp  --  *      *       0.0.0.0/0            192.168.200.204      tcp dpt:554
12       0     0 MASQUERADE  tcp  --  *      *       172.21.0.2           172.21.0.2           tcp dpt:3306
13       0     0 MASQUERADE  tcp  --  *      *       172.21.0.3           172.21.0.3           tcp dpt:6379
14       0     0 MASQUERADE  tcp  --  *      *       172.21.0.4           172.21.0.4           tcp dpt:11110
15       0     0 MASQUERADE  tcp  --  *      *       172.21.0.5           172.21.0.5           tcp dpt:80

Chain DOCKER (2 references)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 RETURN     all  --  docker0 *       0.0.0.0/0            0.0.0.0/0           
2        0     0 RETURN     all  --  br-3434bd3a7128 *       0.0.0.0/0            0.0.0.0/0           
3        0     0 DNAT       tcp  --  !br-3434bd3a7128 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:13306 to:172.21.0.2:3306
4        0     0 DNAT       tcp  --  !br-3434bd3a7128 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:6379 to:172.21.0.3:6379
5        0     0 DNAT       tcp  --  !br-3434bd3a7128 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:172.21.0.4:11110
6        0     0 DNAT       tcp  --  !br-3434bd3a7128 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21180 to:172.21.0.5:80
firefly@firefly:~$ 
firefly@firefly:~$ 

 

firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo arp -a
? (192.168.200.203) at 40:ac:bf:a5:02:9b [ether] on eth1
? (172.21.0.2) at 02:42:ac:15:00:02 [ether] on br-3434bd3a7128
? (172.21.0.3) at 02:42:ac:15:00:03 [ether] on br-3434bd3a7128
_gateway (192.168.100.1) at d6:de:fb:61:5e:30 [ether] on eth0
? (192.168.200.123) at 98:fa:9b:c8:92:83 [ether] on eth1
? (192.168.200.201) at 40:ac:bf:a5:03:38 [ether] on eth1
? (192.168.200.202) at <incomplete> on eth1
? (192.168.200.204) at 40:ac:bf:b4:a2:14 [ether] on eth1
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-3434bd3a7128
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
firefly@firefly:~$ 
firefly@firefly:~$ 
firefly@firefly:~$ sudo ss -alntp 
State      Recv-Q      Send-Q           Local Address:Port            Peer Address:Port     Process                                        
LISTEN     0           0                      0.0.0.0:21180                0.0.0.0:*         users:(("docker-proxy",pid=1530,fd=4))        
LISTEN     0           0                    127.0.0.1:18182                0.0.0.0:*         users:(("python3",pid=2063,fd=4))             
LISTEN     0           0                      0.0.0.0:9000                 0.0.0.0:*         users:(("python3",pid=762,fd=3))              
LISTEN     0           0                      0.0.0.0:6379                 0.0.0.0:*         users:(("docker-proxy",pid=1423,fd=4))        
LISTEN     0           0                    127.0.0.1:5037                 0.0.0.0:*         users:(("adbd",pid=694,fd=5))                 
LISTEN     0           0                      0.0.0.0:80                   0.0.0.0:*         users:(("docker-proxy",pid=1479,fd=4))        
LISTEN     0           0                      0.0.0.0:5555                 0.0.0.0:*         users:(("adbd",pid=694,fd=10))                
LISTEN     0           0                   127.0.0.53:53                   0.0.0.0:*         users:(("systemd-resolve",pid=613,fd=13))     
LISTEN     0           0                      0.0.0.0:22                   0.0.0.0:*         users:(("sshd",pid=838,fd=3))                 
LISTEN     0           0                    127.0.0.1:6010                 0.0.0.0:*         users:(("sshd",pid=2716,fd=11))               
LISTEN     0           0                      0.0.0.0:13306                0.0.0.0:*         users:(("docker-proxy",pid=1363,fd=4))        
LISTEN     0           0                            *:21180                      *:*         users:(("docker-proxy",pid=1536,fd=4))        
LISTEN     0           0                            *:1949                       *:*         users:(("MediaServer",pid=1807,fd=29))        
LISTEN     0           0                            *:5060                       *:*         users:(("java",pid=1806,fd=202))              
LISTEN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=48))        
LISTEN     0           0                            *:3556                       *:*         users:(("MediaServer",pid=1807,fd=28))        
LISTEN     0           0                            *:18181                      *:*         users:(("java",pid=1806,fd=204))              
LISTEN     0           0                            *:50054                      *:*         users:(("lifejacket_dete",pid=770,fd=27))     
LISTEN     0           0                            *:50054                      *:*         users:(("lifejacket_dete",pid=770,fd=28))     
LISTEN     0           0                            *:50058                      *:*         users:(("person_detect_s",pid=715,fd=21))     
LISTEN     0           0                            *:50058                      *:*         users:(("person_detect_s",pid=715,fd=22))     
LISTEN     0           0                            *:6379                       *:*         users:(("docker-proxy",pid=1429,fd=4))        
LISTEN     0           0                            *:50062                      *:*         users:(("face_recognitio",pid=766,fd=28))     
LISTEN     0           0                            *:50062                      *:*         users:(("face_recognitio",pid=766,fd=29))     
LISTEN     0           0                            *:80                         *:*         users:(("docker-proxy",pid=1495,fd=4))        
LISTEN     0           0                            *:11380                      *:*         users:(("MediaServer",pid=1807,fd=30))        
LISTEN     0           0                            *:11381                      *:*         users:(("MediaServer",pid=1807,fd=31))        
LISTEN     0           0                            *:22                         *:*         users:(("sshd",pid=838,fd=4))                 
LISTEN     0           0                        [::1]:6010                       *:*         users:(("sshd",pid=2716,fd=10))               
LISTEN     0           0                            *:13306                      *:*         users:(("docker-proxy",pid=1385,fd=4))        
firefly@firefly:~$ 
firefly@firefly:~$ sudo ss -alnup
State      Recv-Q      Send-Q           Local Address:Port            Peer Address:Port     Process                                        
UNCONN     0           0                      0.0.0.0:42379                0.0.0.0:*         users:(("person_detect_s",pid=715,fd=13))     
UNCONN     0           0                      0.0.0.0:54684                0.0.0.0:*         users:(("lifejacket_dete",pid=770,fd=13))     
UNCONN     0           0                      0.0.0.0:59577                0.0.0.0:*         users:(("face_recognitio",pid=766,fd=13))     
UNCONN     0           0                   127.0.0.53:53                   0.0.0.0:*         users:(("systemd-resolve",pid=613,fd=12))     
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=34))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=35))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=36))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=37))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=38))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=39))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=40))        
UNCONN     0           0                            *:10100                      *:*         users:(("MediaServer",pid=1807,fd=41))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=32))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=42))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=33))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=43))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=44))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=45))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=46))        
UNCONN     0           0                            *:8100                       *:*         users:(("MediaServer",pid=1807,fd=47))        
UNCONN     0           0                            *:17000                      *:*         users:(("java",pid=1806,fd=213))              
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=49))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=50))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=51))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=52))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=53))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=54))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=55))        
UNCONN     0           0                            *:9000                       *:*         users:(("MediaServer",pid=1807,fd=56))        
UNCONN     0           0                            *:5060                       *:*         users:(("java",pid=1806,fd=203))              
firefly@firefly:~$ 
firefly@firefly:~$ 

 

┌─────────────────────────────────────────────────────────────────┐
│                       外部访问入口                             │
├─────────────────────────────────────────────────────────────────┤
│  浏览器访问: http://开发板IP:21180 → VisionLink Web 界面       │
│  HTTP 访问: http://开发板IP:80 → Nginx 反向代理               │
│  RTSP 视频流: tcp://开发板IP:555-558 → 摄像头 RTSP 流         │
│  SSH 远程管理: ssh firefly@开发板IP:22                        │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    Firefly 开发板 (宿主机)                      │
├─────────────────────────────────────────────────────────────────┤
│  docker-proxy (端口映射)                                       │
│  ├─ 21180 → 容器 visionlink-edge-web:80                       │
│  ├─ 6379 → 容器 visionlink-redis:6379                         │
│  ├─ 80 → 容器 visionlink-nginx:11110                          │
│  └─ 13306 → 容器 visionlink-mysql:3306                        │
│                                                                 │
│  宿主机本地服务                                                │
│  ├─ SSH (22)                                                  │
│  ├─ ADB (5037, 5555)                                          │
│  └─ Python 辅助服务 (9000, 12022)                             │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                  Docker 容器网络 (172.18.0.0/16)               │
├─────────────────────────────────────────────────────────────────┤
│  visionlink-edge-web (172.18.0.2:80) → Web 界面               │
│  visionlink-redis (172.18.0.3:6379) → 缓存                    │
│  visionlink-nginx (172.18.0.4:11110) → 反向代理               │
│  visionlink-mysql (172.18.0.5:3306) → 数据库                  │
│  visionlink-edge-service (Java, 端口 5060/17000/18181)         │
│  visionlink-mediaserver (MediaServer, 多端口)                  │
│  visionlink-record-worker (录像服务)                           │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    外部设备 (192.168.200.0/24)                 │
├─────────────────────────────────────────────────────────────────┤
│  摄像头 1 (200.201)  │  摄像头 2 (200.202)                    │
│  摄像头 3 (200.203)  │  摄像头 4 (200.204)                    │
│  功能: RTSP 视频流 + HTTP Web 管理                            │
└─────────────────────────────────────────────────────────────────┘

 

root@OpenWrt:~#
root@OpenWrt:~# cat /etc/config/system

config system
        option hostname 'OpenWrt'
        option ttylogin '0'
        option log_size '64'
        option urandom_seed '0'
        option log_proto 'udp'
        option conloglevel '8'
        option cronloglevel '5'
        option zram_comp_algo 'lzo'
        option zonename 'Asia/Shanghai'
        option timezone 'CST-8'

config timeserver 'ntp'
        option interface 'lan'
        option enable_server '1'

root@OpenWrt:~#
root@OpenWrt:~#
root@OpenWrt:~# ps | grep ntp
 6898 root      3956 S    {ntpd} /sbin/ujail -t 5 -n ntpd -U ntp -G ntp -C /etc/capabilities/ntpd.json -c -u -r /bin/ubus -r /usr/bin/env -r /usr/bin/jshn -r /usr/sbin/ntpd-hotplug -r /usr/share/libubox/jshn.sh -- /usr/sbin/ntpd -n -N
 6930 ntp       3744 S    /usr/sbin/ntpd -n -N -l -I br-lan -S /usr/sbin/ntpd-hotplug
 9179 root      3744 S    ntpd -n -d -p 10.0.0.211 -p 203.107.6.88 -p 120.25.115.20 -p 158.69.48.97
10181 root      3744 R    grep ntp
root@OpenWrt:~#
root@OpenWrt:~# netstat -alnup | grep ntp
udp        0      0 :::123                  :::*                                6930/ntpd
root@OpenWrt:~#

 

image

image

5326d1a1028e6e24807ee09b2b1ca55f

 

============= End

 

posted @ 2026-07-24 19:49  lsgxeva  阅读(15)  评论(0)    收藏  举报