{"id":32132208,"url":"https://github.com/bibigon812/bibigon812-network","last_synced_at":"2026-02-22T14:36:51.603Z","repository":{"id":57664454,"uuid":"98201974","full_name":"bibigon812/bibigon812-network","owner":"bibigon812","description":"Puppet module for network management in Linux.","archived":false,"fork":false,"pushed_at":"2017-08-17T07:26:29.000Z","size":138,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-21T02:50:03.135Z","etag":null,"topics":["bond","centos","network","puppet-module","vlan"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/bibigon812/network/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bibigon812.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-24T14:48:58.000Z","updated_at":"2019-03-08T23:38:19.000Z","dependencies_parsed_at":"2022-09-10T16:10:24.871Z","dependency_job_id":null,"html_url":"https://github.com/bibigon812/bibigon812-network","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/bibigon812/bibigon812-network","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibigon812%2Fbibigon812-network","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibigon812%2Fbibigon812-network/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibigon812%2Fbibigon812-network/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibigon812%2Fbibigon812-network/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bibigon812","download_url":"https://codeload.github.com/bibigon812/bibigon812-network/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bibigon812%2Fbibigon812-network/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29716355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T13:30:57.152Z","status":"ssl_error","status_checked_at":"2026-02-22T13:30:28.561Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bond","centos","network","puppet-module","vlan"],"created_at":"2025-10-21T02:33:39.757Z","updated_at":"2026-02-22T14:36:51.595Z","avatar_url":"https://github.com/bibigon812.png","language":"Ruby","readme":"# network\n\n[![Build Status](https://travis-ci.org/bibigon812/bibigon812-network.svg?branch=master)](https://travis-ci.org/bibigon812/bibigon812-network)\n\n## Description\n\nThis module manages network interfaces without restarting the network\nsubsystem. It contains of two parts. One uses iproute2 tools and system files\nplaced in `/sys/class/net`. The other manages files needed to restore the state\nafter OS boots.\n\n## Naming convention\n\n- Ethernet: `/\\A([[:alpha:]]*([[:alpha:]]\\d+)+)\\Z/`. Examples: `enp0s1`, `ens0f1`.\n- Bonding: `/\\Abond\\d+\\Z/`. Examples: `bond0`, `bond1`.\n- Vlan: `/\\Avlan(\\d+)\\Z/`, `$1` - vlanid. Examples: `vlan10`, `vlan100`.\n- Loopback: `/\\Alo\\Z/`. Examples: `lo`.\n\n## Setup\n\n### Limitations\n\n* Manages alias files only for ten ip addresses.\n\n### What network affects\n\n* Removes unspecified IP addresses of the network interface.\n* Overwrites configuration files of the network interface.\n* Can make your server unreachable.\n\n### Beginning with network\n\nInclude this module and write hiera.\n\n```puppet\ninclude ::network\n```\n\n```yaml\n---\nnetwork::network_manager::enable: false\nnetwork::network_manager::ensure: stopped\n```\n\n```yaml\n---\nnetwork::interfaces:\n    eth0:\n        mtu: 9000\n    eth1:\n        mtu: 9000\n    bond0:\n        bond_slaves:\n            - eth0\n            - eth1\n        mtu: 9000\n    valn100:\n        ipaddress:\n            - 10.0.0.1/24\n            - 172.16.0.1/24\n        mtu: 1500\n        parent: bond0\n    vlan110:\n        ipaddress:\n            - 192.168.255.1/24\n        mtu: 9000\n        parent: bond0\n---\nnetwork::routes:\n    192.168.0.0/24:\n        device: vlan100\n        nexthop: 172.16.0.100\n    192.168.0.0/24 100:\n        device: vlan110\n        nexthop: 192.168.255.100\n```\n\n## Usage\n\n```puppet\nnetwork_interface { ['eth0', 'eth1']:\n    mtu =\u003e 9000,\n}\n```\n\n```yaml\n---\nnetwork::interfaces:\n    eth0:\n        mtu: 9000\n    eth1:\n        mtu: 9000\n```\n\n### Create the bond interface\n```puppet\nnetwork_interface { 'bond0':\n    ensure         =\u003e present,\n    bond_lacp_rate =\u003e 'fast',\n    bond_slaves    =\u003e [\n        'eth0',\n        'eth1',\n    ],\n    mtu            =\u003e 9000,\n}\n```\n\n```yaml\n---\nnetwork::interfaces:\n    bond0:\n        ensure: present\n        bond_lacp_rate: fast\n        bond_slaves:\n            - eth0\n            - eth1\n        mtu: 9000\n```\n\n### Create the vlan interface\n```puppet\nnetwork_interface { 'bond0.100':\n    ensure    =\u003e present,\n    ipaddress =\u003e [\n        '10.0.0.1/24',\n        '172.16.0.1/24',\n    ],\n}\n```\n\n```yaml\n---\nnetwork::interfaces:\n    bond0.100:\n        ipaddress:\n            - 10.0.0.1/24\n            - 172.16.0.1/24\n```\n\n\n```puppet\nnetwork_interface { 'vlan100':\n    ensure    =\u003e present,\n    ipaddress =\u003e [\n        '10.0.0.1/24',\n        '172.16.0.1/24',\n    ],\n    parent    =\u003e 'bond0',\n}\n```\n\n```yaml\n---\nnetwork::interfaces:\n    vlan100:\n        ipaddress:\n            - 10.0.0.1/24\n            - 172.16.0.1/24\n        parent: bond0\n```\n\n### Create routes\n\n```puppet\nnetwork_route { '192.168.0.0/24':\n    ensure  =\u003e present,\n    device  =\u003e 'vlan100',\n    nexthop =\u003e '10.0.0.100',\n}\n```\n\n```yaml\nnetwork::routes:\n    192.168.0.0/24:\n        ensure: present\n        device: vlan100\n        nexthop: 10.0.0.100\n```\n\n```puppet\nnetwork_route { '10.0.0.0/24 250':\n    ensure  =\u003e present,\n    device  =\u003e 'vlan200',\n}\n```\n\n```yaml\nnetwork::route:\n    10.0.0.0/24 250:\n        ensure: present\n        device: vlan200\n```\n\n## Reference\n\n### network_interface\n\n- `name`. Interface name.\n- `type`. Interface type. Can be `hw`, `bond` and `vlan`.\n- `bond_lacp_rate`. Option specifying the rate in which we'll ask our link\npartner to transmit LACPDU packets in 802.3ad mode. Defaults to `slow`.\n- `bond_miimon`. Specifies the MII link monitoring frequency in milliseconds.\nDefaults to `100`.\n- `bond_mode`. Specifies one of the bonding policies. Defaults to `802.3ad`.\n- `bond_slaves`. Specifies a list of the bonding slaves. Defaults to `[]`.\n- `bond_xmit_hash_policy`. This policy uses upper layer protocol information,\nwhen available, to generate the hash. Defaults to `layer3+4`.\n- `ipaddress`. Specifies a list of IP addresses. Defaults to `[]`.\n- `mac`. Specifies a MAC address.\n- `mtu`. Specifies the maximum transmission unit.\n- `parent`. Specifies a parent interface.\n- `state`. State of this interface. Can be `up` and `down`. Defaults to `up`.\n- `vlanid`. Vlan ID.\n\n### network_route\n\n- `name`. Contains the IP prefix and the metric (optional).\n- `prefix`. Specifies the IP prefix. The default value obtains from the name.\n- `metric`. Specifies the metric. The default value obtains rom the name.\n- `device`. Specifies the device.\n- `nexthop`. Specifies the next hop.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbibigon812%2Fbibigon812-network","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbibigon812%2Fbibigon812-network","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbibigon812%2Fbibigon812-network/lists"}