跳转到主要内容

phpipam-exporter 的顶级包。

项目描述

https://badge.fury.io/py/phpipam-exporter.svg

phpipam-exporter

phpipam生成DHCP、DNS或主机记录的生成器。

用法

所有参数都可以定义为环境变量。

程序参数

参数

ENV变量

必需

描述

--subnet / -s

PHPIPAM_SUBNETS

过滤特定PHPIPAM子网输出。可以使用多次(在PHPIPAM_SUBNETS中,子网由逗号分隔)。

--host

PHPIPAM_HOST

phpipam API入口点格式 https://<fqdn>/api/<api_id>/(例如,https://phpipam.example.com/api/exporter/

--token

PHPIPAM_TOKEN

phpipam API令牌。

--format / -f

PHPIPAM_FORMAT

否(默认:json)

输出格式。(dhcpd,dnsmasq,hosts)

--output / -o

PHPIPAM_OUTPUT

否(默认:stdout)

输出文件。

--on-change-action

PHPIPAM_ON_CHANGE_ACTION

Bash命令。仅当输出文件更改时才会触发此命令。此参数必须与--output一起定义。(例如,systemctl reload named

--custom-template

PHPIPAM_CUSTOM_TEMPLATE

自定义Jinja模板文件的路径。

生成API令牌

启用API插件: 管理 > phpIPAM设置 > API = 开

创建令牌: 管理 > API > 创建API密钥

令牌参数

应用程序ID

导出器

应用程序权限

读取

应用程序安全

使用应用程序代码令牌的SSL

复制 应用程序代码 并将其用作 PHPIPAM_TOKEN应用程序ID 必须作为 PHPIPAM_HOST 的一部分使用。

img/token.png

主机文件

export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'

cat /etc/hosts.static
  127.0.0.1   localhost localhost.localdomain
  ::1         localhost localhost.localdomain


phpipam_export -s 192.168.1.0/24 -f dhcpd -o /etc/hosts.dynamic --on-change-action "cat /etc/hosts.static /etc/hosts.dynamic >> /etc/hosts"

DHCPd

export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'

phpipam_export -s 192.168.1.0/24 -f dhcpd -o /etc/dhcp/subnet.conf --on-change-action "systemctl reload dhcpd"

/etc/dhcp/dhcpd.conf

authoritative;
ddns-update-style none;
default-lease-time 86400;
max-lease-time 172800;
shared-network "lan" {
    subnet 192.168.1.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.1.1, 192.168.1.2;
        option broadcast-address 192.168.1.255;
        option routers 192.168.1.1;
        pool {
            range 192.168.1.254 192.168.1.254;
            deny unknown-clients;
            include "/etc/dhcp/subnet.conf";
        }
    }

dnsmasq

export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'

phpipam_export -s 192.168.1.0/24 -f dnsmasq -o /etc/dnsmasq.d/subnet.conf --on-change-action "systemctl reload dnsmasq"

json格式

export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'

phpipam_export -s 192.168.1.0/24 -f json

自定义模板

我们可以创建一个自定义的 Jinja 模板文件,并用于格式化输出数据。地址存储在 addresses 模板变量中。每个设备的属性在此处描述 3.4 地址控制器 或我们可以使用 json 格式获取所有属性。

export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'

phpipam_export -s 192.168.1.0/24 --custom-template ansible_inventory.j2  -o /ansible-project/inventory.yml

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

phpipam_exporter-0.5.1.tar.gz (9.4 kB 查看哈希值)

上传时间

构建分布

phpipam_exporter-0.5.1-py3-none-any.whl (8.3 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面