Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adonespitogo/node-set-ip-address
Node module for setting up network interface(s) ip address, dns, and default routes of physical network interfaces, VLAN, and bridged interfaces.
https://github.com/adonespitogo/node-set-ip-address
bridge network vlan
Last synced: 16 days ago
JSON representation
Node module for setting up network interface(s) ip address, dns, and default routes of physical network interfaces, VLAN, and bridged interfaces.
- Host: GitHub
- URL: https://github.com/adonespitogo/node-set-ip-address
- Owner: adonespitogo
- License: mit
- Created: 2019-11-14T05:01:46.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-12T02:11:26.000Z (3 months ago)
- Last Synced: 2024-12-09T19:53:29.727Z (25 days ago)
- Topics: bridge, network, vlan
- Language: JavaScript
- Homepage:
- Size: 296 KB
- Stars: 17
- Watchers: 4
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# set-ip-address
Node module for setting up network interface(s) ip address, dns, and default routes of physical network interfaces, VLAN, and bridged interfaces.[![Build Status](https://travis-ci.com/adonespitogo/node-set-ip-address.svg?branch=master)](https://travis-ci.com/adonespitogo/node-set-ip-address)
Supported linux network configurations:
- dhcpcd (/etc/dhcpcd.conf)
- ifdownup (/etc/network/interfaces)
- netplan (/etc/netplan/)
Install
---```
yarn add set-ip-address
```OR
```
npm i --save set-ip-address
```Basic Usage
---```js
var set_ip_address = require('set-ip-address')
``````js
var eth0 = {
interface: 'eth0',
ip_address: '10.0.0.1',
prefix: 20,
gateway: '10.0.0.1',
nameservers: ['8.8.8.8'], // nameservers can also be a string separated by space/comma, ex: `"1.1.1.1, 8.8.8.8 8.8.4.4"`
optional: true // (netplan) - dont wait for interfaces to avoid boot delay
}var eth1 {
interface: 'eth1',
dhcp: true
}set_ip_address.configure([eth0, eth1]).then(() => console.log('done writing config files')
```
Create and Configure VLAN Interface
---You can create vlan interfaces by passing `vlanid` option. Make sure to load `8021q` module to the kernel:
```
sudo modprobe 8021q
``````js
var eth0 = {
interface: 'eth0',
ip_address: '10.0.0.1',
prefix: 20,
gateway: '10.0.0.1',
nameservers: ['8.8.8.8']
}var vlan1 {
interface: 'eth0',
vlanid: 10,
ip_address: '20.0.0.1',
prefix: 20,
gateway: '20.0.0.1',
nameservers: ['8.8.8.8']
}set_ip_address.configure([eth0, vlan1]).then(() => console.log('done writing config files')
```
Create and Configure Bridged Interfaces
---```js
var eth0 = {
interface: 'eth0',
manual: true
}var vlan1 {
interface: 'eth0',
vlanid: 10,
manual: true
}var br0 = {
interface: 'br0',
ip_address: '10.0.0.1',
prefix: 20,
gateway: '10.0.0.1',
nameservers: ['8.8.8.8'],
bridge_ports: ['eth0', 'eth0.10'],
bridge_opts: {
stp: true
}
}set_ip_address
.configure([eth0, vlan1, br0])
.then(() => console.log('done writing config files')
```Create and Configure PPPoE Interface
---```js
var ppp = {
provider: 'dsl-provider',
physical_interface: 'eth0'
}set_ip_address
.configure([ppp])
.then(() => console.log('done writing config files')```
Restart Networking Service
---```js
set_ip_address.restartService()
.then(() => console.log('network service restarted'))
```LICENSE
---[MIT](LICENSE)