network-builder: Linux NetworkNameSpace Builder

[ bsd3, library, network, program ] [ Propose Tags ]

Linux NetworkNameSpace Builder


[Skip to Readme]

Modules

  • Network
    • Network.Builder
      • Network.Builder.Namespace
      • Network.Builder.Tunnel

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0
Change log ChangeLog.md
Dependencies aeson, base (>=4.6 && <5), bytestring, network-builder, optparse-applicative, shelly, text, yaml [details]
License BSD-3-Clause
Author Junji Hashimoto
Maintainer junji.hashimoto@gmail.com
Category Network
Bug tracker https://github.com/junjihashimoto/network-builder/issues
Source repo head: git clone https://github.com/junjihashimoto/network-builder.git
Uploaded by junjihashimoto at 2015-03-17T15:23:24Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables network-builder
Downloads 929 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2015-11-13 [all 8 reports]

Readme for network-builder-0.1.0

[back to package description]

network-builder : Linux Network NameSpace Builder for test

Hackage version Build Status

network-builder makes network using Linux Network NameSpaces and tunnels.

Getting started

Install this from Hackage.

cabal update && cabal install network-builder

Usage

When you create network, put network-builder.yml on current directory. The yaml format is below.

nss:
- - ip: 192.168.10.1/24
    name: br1
  - - - ip: 192.168.10.2/24
        name: veth-2
      - name: server2
        nss:
        - - ip: 192.168.11.1/24
            name: br1
          - - - ip: 192.168.11.4/24
                name: veth-3
              - name: server3
    - - ip: 192.168.10.3/24
        name: veth-4
      - name: server4
        nss:
        - - ip: 192.168.12.1/24
            name: br1
          - - - ip: 192.168.12.4/24
                name: veth-5
              - name: server5

When you create tunnel for server2 of namespace put yaml file(just example) below.

- name: server2
- tag: gretunnel
  Name: gre2
  LocalIp: 192.168.10.2
  RemoteIp: 192.168.10.3
  RemoteNetwork: 192.168.12.0/24
  GreDeviceIp: 192.168.11.254/24

Commands

create network

network-builder create

destroy network

network-builder destroy

create tunnel

network-builder create-tunnel "yaml-file"

destroy tunnel

network-builder destroy-tunnel "yaml-file"