How to Use Linux Network Namespace


Linux community namespaces are a Linux kernel characteristic permitting us to isolate community environments via virtualization. For instance, the use of community namespaces, you’ll create separate community interfaces and routing tables which can be remoted from the remainder of the gadget and function independently.

To perceive namespaces simply, it’s price pronouncing Linux namespaces are the foundation of container applied sciences like Docker or Kubernetes.

For now, Linux comprises 6 varieties of namespaces: pid, web, uts, mnt, ipc, and person. This instructional makes a speciality of Linux community namespaces.

If you command lsns, it’ll show all current namespaces to your gadget, as proven within the symbol beneath.

Note: The namespace used for this instructional is called linuxhint; substitute it along with your namespace identify.

Adding a Linux community namespace:

Managing community namespaces is completed the use of the ip netns command adopted by means of the right kind choices.

To create a community namespace in Linux, you wish to have to execute the ip command adopted by means of the netns (community namespace) possibility, the upload possibility, and the brand new namespace identify, as proven within the following screenshot. Then, the ip netns command will also be run to turn the prevailing community namespaces simplest. Remember to exchange linuxhint with the identify of your namespace.

ip netns upload linuxhint
ip netns

As you’ll see, a brand new namespace was once created named linuxhint.

Network namespaces have their very own interfaces, routing tables, loopback interface, iptables regulations, and so on. You want to create those assets on your namespace.

Creating loopback interface for the namespace:

To run instructions inside of a community namespace, the syntax is the next.

ip netns exec NameSpace> command>

By default, the loopback interface is down. You want to execute the next command; as defined up to now, the command beneath executes the ip hyperlink set dev lo up inside the selected namespace.

ip netns exec linuxhint ip hyperlink set dev lo up

You can test in case your loopback interface was once added correctly by means of working the next command:

ip netns exec linuxhint ip deal with

You can also ping your namespace loopback interface to check it, as proven beneath.

ip netns exec linuxhint ping

Adding community interfaces for your namespace:

You can affiliate a {hardware} community card for your namespace, or you’ll upload digital community gadgets. By including digital community interfaces, you’ll permit connectivity between other namespaces. Virtual community gadgets are named veth (Virtual Ethernet Device).

To create a digital community ethernet tool, run the next command, the place enp2s0 is the for the brand new tool and v-peer1 its arbitrary identify,  substitute it with yours.

ip hyperlink upload v-enp2s0 sort veth peer identify v-eth0

Now assign the digital tool for your namespace by means of working the command beneath.

ip hyperlink set v-eth0 netns linuxhint

Assign an ip deal with to the brand new community tool as proven beneath.

ip -n linuxhint addr upload dev v-eth0

By default, the community tool is down; you wish to have to set it up. To set your digital community tool up, run the next command.

ip -n linuxhint hyperlink set v-eth0 up

As you’ll see within the screenshot beneath, the digital tool was once added correctly.

ip netns exec linuxhint sudo ifconfig

The instance beneath displays easy methods to assign a bodily community card for your community namespace. In this situation, the bodily community card is the enp2s0.

ip hyperlink set dev enp2s0 netns linuxhint

As you’ll see by means of working the instance beneath, the community card was once added correctly. You can assign an IP deal with the use of the similar instructions defined up to now.

ip netns exec linuxhint sudo ifconfig

As defined up to now, every namespace has its personal path desk, IP, and extra, together with its personal firewall regulations. Adding firewall regulations for your namespace is discreet; simply run the instructions after ip netns exec linuxhint, as proven beneath. The instance beneath will listing iptables insurance policies if current.

ip netns exec linuxhint sudo iptables -L

The following instance displays the similar however the use of UFW (Uncomplicated Firewall) as a substitute of iptables. In this situation, the firewall is reported as disabled.

ip netns exec linuxhint sudo ufw standing

Removing a Linux Network Namespace:

Removing community namespaces is beautiful easy, like when including them.

To take away a namespace, run the command beneath, substitute linuxhint along with your namespace.

As you’ll see, after working ip netns, no community namespace was once proven; it was once effectively got rid of.


Linux namespaces are a powerful approach to isolate processes, filesystems, networks, and extra. This capability lets in us to execute circumstances independently. This is very helpful for safety functions. Namespaces are packing containers whose contents are totally remoted from the remainder of the gadget, together with from different namespaces. In this manner, we will be able to run other products and services in several packing containers. If a namespace will get compromised underneath an assault, the remainder of the gadget stays protected. Using Linux namespaces, you’ll be offering a couple of shoppers their surroundings; this option could also be nice for checking out functions or to run instrument whose beginning is suspicious; in case of executing a malicious code, simplest your namespace will probably be affected, leaving your tool protected.

I am hoping this instructional on Linux namespaces was once helpful. Keep following Linux Hint for extra Linux pointers and tutorials.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More