From 8640ecb08d3df63d0aa4c3ad57e87dd4dd92daee Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Thu, 26 Jun 2025 10:24:57 +0800 Subject: [PATCH 1/2] add dhcp readme --- Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile | 2 + Others/dhcp/README.md | 67 +++++++++++++++++++++ Others/dhcp/doc/image-info.yml | 62 +++++++++++++++++++ Others/dhcp/doc/picture/logo.png | Bin 0 -> 69637 bytes 4 files changed, 131 insertions(+) create mode 100644 Others/dhcp/README.md create mode 100644 Others/dhcp/doc/image-info.yml create mode 100644 Others/dhcp/doc/picture/logo.png diff --git a/Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile b/Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile index b856859..aaa04b1 100644 --- a/Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile +++ b/Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile @@ -15,4 +15,6 @@ RUN wget https://ftp.isc.org/isc/dhcp/${VERSION}/dhcp-${VERSION}.tar.gz \ && make -j$(nproc) \ && make install +RUN mkdir -p /var/db && touch /var/db/dhcpd.leases + CMD ["/usr/local/dhcp/sbin/dhcpd", "--help"] \ No newline at end of file diff --git a/Others/dhcp/README.md b/Others/dhcp/README.md new file mode 100644 index 0000000..36e290e --- /dev/null +++ b/Others/dhcp/README.md @@ -0,0 +1,67 @@ +# Quick reference + +- The official DHCP docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# DHCP | openEuler +Current dhcp docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +DHCP, or Dynamic Host Configuration Protocol, is a network management protocol that automatically assigns IP addresses and other network configuration parameters to devices on a network. + +Learn more about DHCP on [DHCP Website](https://www.isc.org/blogs/isc-dhcp-eol/)⁠. + +# Supported tags and respective Dockerfile links +The tag of each `dhcp` docker image is consist of the version of `dhcp` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[4.4.3-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile)| DHCP 4.4.3 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/dhcp` image from docker + + ```bash + docker pull openeuler/dhcp:{Tag} + ``` + +- Run with an interactive shell + + You can also start the container with an interactive shell to use dhcp. + ``` + docker run -it --rm openeuler/dhcp:{Tag} bash + ``` + +- Create the `dhcpd.conf` file + + Add a subnet declaration matching the `eth0` interface`s IP. For example: + ``` + # Configure subnet based on eth0's IP (172.17.0.7) + subnet 172.17.0.0 netmask 255.255.0.0 { + range 172.17.1.100 172.17.1.200; # Allocatable IP range + option routers 172.17.0.1; # Default gateway (modify as needed) + option domain-name-servers 8.8.8.8; # DNS server + default-lease-time 600; # Default lease time (seconds) + max-lease-time 7200; + } + ``` + **Key Points:** + * The subnet range and netmask must cover eth0`s IP(172.17.0.7). + * If your actual network is `172.17.0.0/24`, change the netmask to `255.255.255.0`. + +- Specify listening interface(Optional) + + Force binding to `eth0` during startup: + ``` + /usr/local/dhcp/sbin/dhcpd -cf /tmp/dhcp/dhcpd.conf eth0 -f + ``` + **Notes:** + * The `-f` flag keeps the process in foreground or debugging. + * Omit `-f` to run as a background daemon. + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/dhcp/doc/image-info.yml b/Others/dhcp/doc/image-info.yml new file mode 100644 index 0000000..7408cff --- /dev/null +++ b/Others/dhcp/doc/image-info.yml @@ -0,0 +1,62 @@ +name: dhcp +category: others +description: DHCP 是 Redis 官方推荐的 C 语言客户端库,专为高性能、低延迟的 Redis 交互设计。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + dhcp镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[4.4.3-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/dhcp/4.4.3/24.03-lts-sp1/Dockerfile)| DHCP 4.4.3 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/dhcp:{Tag} + ``` + +usage: | + - 交互式shell启动进入容器中 + + 通过交互式 Shell 启动容器,使用DHCP: + ``` + docker run -it --rm openeuler/dhcp:{Tag} bash + ``` + + - 创建文件`dhcpd.conf` + + 添加与 eth0 接口 IP 匹配的子网声明。例如: + ``` + # 根据 eth0 的 IP (172.17.0.7) 配置子网 + subnet 172.17.0.0 netmask 255.255.0.0 { + range 172.17.1.100 172.17.1.200; # 可分配的 IP 范围 + option routers 172.17.0.1; # 默认网关(根据实际修改) + option domain-name-servers 8.8.8.8; # DNS 服务器 + default-lease-time 600; # 默认租约时间(秒) + max-lease-time 7200; + } + ``` + **关键点:** + * subnet 的网段和掩码必须覆盖 `eth0` 的 IP(`172.17.0.7`)。 + * 如果实际网络是 `172.17.0.0/24`,则将 netmask 改为 `255.255.255.0`。 + + - 指定监听接口(可选) + + 启动时强制绑定到 `eth0`: + ``` + /usr/local/dhcp/sbin/dhcpd -cf /tmp/dhcp/dhcpd.conf eth0 -f + ``` + **说明:** + * `-f` 参数:使进程保持在前台运行,便于调试。 + * 省略 `-f`:则以守护进程(后台)模式运行。 + +license: BSD-3-Clause +similar_packages: + - N/A +dependency: + - zlib + - openssl diff --git a/Others/dhcp/doc/picture/logo.png b/Others/dhcp/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ede584051fb7f8563b75258bba43db2b4ee35e08 GIT binary patch literal 69637 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 literal 0 HcmV?d00001 -- Gitee From 6ab00d22c06362b32d2479580510514dd943c122 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Thu, 26 Jun 2025 11:20:36 +0800 Subject: [PATCH 2/2] add dnsmasq readme --- Others/dhcp/doc/image-info.yml | 10 ++-- Others/dnsmasq/README.md | 75 ++++++++++++++++++++++++++++ Others/dnsmasq/doc/image-info.yml | 72 ++++++++++++++++++++++++++ Others/dnsmasq/doc/picture/logo.png | Bin 0 -> 7143 bytes 4 files changed, 152 insertions(+), 5 deletions(-) create mode 100644 Others/dnsmasq/README.md create mode 100644 Others/dnsmasq/doc/image-info.yml create mode 100644 Others/dnsmasq/doc/picture/logo.png diff --git a/Others/dhcp/doc/image-info.yml b/Others/dhcp/doc/image-info.yml index 7408cff..23a86e1 100644 --- a/Others/dhcp/doc/image-info.yml +++ b/Others/dhcp/doc/image-info.yml @@ -1,6 +1,6 @@ name: dhcp category: others -description: DHCP 是 Redis 官方推荐的 C 语言客户端库,专为高性能、低延迟的 Redis 交互设计。 +description: DHCP(动态主机配置协议)是一种网络协议,自动给局域网中的设备分配 IP 地址、网关、DNS 等网络配置参数。 environment: | 本应用在Docker环境中运行,安装Docker执行如下命令 ``` @@ -54,9 +54,9 @@ usage: | * `-f` 参数:使进程保持在前台运行,便于调试。 * 省略 `-f`:则以守护进程(后台)模式运行。 -license: BSD-3-Clause +license: MPL 2.0 similar_packages: - - N/A + - dnsmasq: dnsmasq 是一个轻量级的网络服务程序,常用于 本地 DNS 缓存、DHCP 服务、TFTP、PXE 引导等小型网络环境。 dependency: - - zlib - - openssl + - libcap + - libc diff --git a/Others/dnsmasq/README.md b/Others/dnsmasq/README.md new file mode 100644 index 0000000..b40a6db --- /dev/null +++ b/Others/dnsmasq/README.md @@ -0,0 +1,75 @@ +# Quick reference + +- The official dnsmasq docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# dnsmasq | openEuler +Current dnsmasq docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +dnsmasq is the world's largest software registry. Open source developers from every continent use dnsmasq to share and borrow packages, and many organizations use dnsmasq to manage private development as well. + +Learn more about dnsmasq on [dnsmasq Website](https://docs.dnsmasqjs.com/about-dnsmasq)⁠. + +# Supported tags and respective Dockerfile links +The tag of each `dnsmasq` docker image is consist of the version of `dnsmasq` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[2.91-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/dnsmasq/2.91/24.03-lts-sp1/Dockerfile)| dnsmasq 2.91 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Pull the `openeuler/dnsmasq` image from docker + + ```bash + docker pull openeuler/dnsmasq:{Tag} + ``` + +- Run with an interactive shell + + You can also start the container with an interactive shell to use dnsmasq. + ``` + docker run -it --rm openeuler/dnsmasq:{Tag} bash + ``` + +- Create the `/etc/dnsmasq.conf` file + + Create a local configuration file `dnsmasq.conf` with the following content: + ``` + # dnsmasq.conf + no-resolv + address=/test.local/192.168.1.100 + log-queries + log-facility=/var/log/dnsmasq.log + ``` + +- Start the `dnsmasq` service in background + + ``` + nohup dnsmasq --no-daemon & + ``` + To make sure it`s running: + ``` + ps aux | grep dnsmasq + ``` + +- Test using the `dig` command: + + ``` + dnf install -y bind-utils + dig @127.0.0.1 test.local + ``` + +- Expected output (similar to): + + ``` + ;; ANSWER SECTION: + test.local. 0 IN A 192.168.1.100 + ``` + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/dnsmasq/doc/image-info.yml b/Others/dnsmasq/doc/image-info.yml new file mode 100644 index 0000000..495f0ef --- /dev/null +++ b/Others/dnsmasq/doc/image-info.yml @@ -0,0 +1,72 @@ +name: dnsmasq +category: others +description: dnsmasq 是一个轻量级的网络服务程序,常用于 本地 DNS 缓存、DHCP 服务、TFTP、PXE 引导等小型网络环境。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + dnsmasq镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[2.91-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/dnsmasq/2.91/24.03-lts-sp1/Dockerfile)| dnsmasq 2.91 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/dnsmasq:{Tag} + ``` + +usage: | + - 以交互式Shell运行容器: + + 通过交互式 Shell 启动容器,使用dnsmasq命令: + ``` + docker run -it --rm openeuler/dnsmasq:{Tag} bash + ``` + + - 创建配置文件`/etc/dnsmasq.conf` + + 配置文件`dnsmasq.conf`内容如下: + ``` + # dnsmasq.conf + no-resolv + address=/test.local/192.168.1.100 + log-queries + log-facility=/var/log/dnsmasq.log + ``` + + - 后台启动`dnsmasq`服务 + + ``` + nohup dnsmasq --no-daemon & + ``` + + 检查是否运行: + ``` + ps aux | grep dnsmasq + ``` + + - 使用`dig`命令测试: + + 需要安装bind-utils软件包,包含dig命令 + ``` + dnf install -y bind-utils + dig @127.0.0.1 test.local + ``` + + - 输出类似: + + ``` + ;; ANSWER SECTION: + test.local. 0 IN A 192.168.1.100 + ``` + +license: GPLv2 +similar_packages: + - CoreDNS : CoreDNS 是一个现代化、灵活、模块化的 DNS 服务器,它是云原生环境(如 Kubernetes)中默认的 DNS 服务组件,用于服务发现和 DNS 名称解析。 +dependency: + - libdbus + - systemd diff --git a/Others/dnsmasq/doc/picture/logo.png b/Others/dnsmasq/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..abdf3ba488c967ff49329816f013d501c1669fdc GIT binary patch literal 7143 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 XtOkH?GU89Sg6OZ#$KL`Dx|#Zar``)k literal 0 HcmV?d00001 -- Gitee