carp3/network-interfaces

A simple library to modify debian's /etc/netowrk/interfaces

dev-master 2019-07-25 19:05 UTC

This package is not auto-updated.

Last update: 2024-05-18 16:16:48 UTC


README

A simple PHP library for reading and manipulating the /etc/network/interfaces file in Debian based distributions.

Install:

composer require carp3/network-interfaces

Usage:

<?php
//include composer autoloader
include 'vendor/autoload.php';

// 'import' NetworkInterfaces class
use NetworkInterfaces\Adaptor;
use NetworkInterfaces\NetworkInterfaces;

// create new handle from /etc/networking/interfaces
$handle = new NetworkInterfaces('/etc/networking/interfaces');

// parse file
$handle->parse();

// create new Adaptor and set configs
$adaptor = new Adaptor();
$adaptor->name = "eth2";
$adaptor->family = "inet";
$adaptor->name = "statis";
$adaptor->address = '192.168.2.100';
$adaptor->gateway = '192.168.2.1';
$adaptor->netmask = '255.255.255.0';
$adaptor->auto = true;
$adaptor->allows[] = 'hotplug';

// add adaptor to NetworkInterfaces instance
$handle->add($adaptor);


// change eth0 ip address
$handle->Adaptors['eth0']->address = '192.168.0.30';

// Write changes to /etc/networking/interfaces
$handle->write();

// bringing up new interface
$handle->up('eth2');