当前位置:网站首页>IP netns command (memo)

IP netns command (memo)

2022-07-07 18:55:00 fananchong2

Linux Network Namespace

Linux Network Namespace It is the foundation of containerization

ip netns Is based on Linux Network Namespace A utility for

Get familiar with it here ip netns Use , To understand how Linux Network virtualization under

establish 1 A virtual network

#  Create a file called  netns1  Of  network namespace
sudo ip netns add netns1

#  Use  ip netns exec  Order to enter  network namespace
sudo ip netns exec netns1 ip link list

#  Get into  netns1  This  network namespace , Set the device status to  UP
sudo ip netns exec netns1 ip link set dev lo up

#  Try  ping netns1  This  network namespace  Of  127.0.0.1
sudo ip netns exec netns1 ping 127.0.0.1

#  See what's in the system  network namespace
ip netns list

#  Delete  network namespace
sudo ip netns delete netns1

2 Virtual network interworking

#!/bin/bash

#  establish  network namespace ns0 ns1
sudo ip netns add ns0
sudo ip netns add ns1

#  Use  veth pair  establish  2  Virtual network card ; Add to respectively  ns0 ns1 wetowrk namespace
sudo ip link add veth0 type veth peer name veth1
sudo ip link set veth0 netns ns0
sudo ip link set veth1 netns ns1

#  binding  ip
sudo ip netns exec ns0 ip link set dev lo up
sudo ip netns exec ns1 ip link set dev lo up
sudo ip netns exec ns0 ifconfig veth0 10.1.1.1/24 up
sudo ip netns exec ns1 ifconfig veth1 10.1.1.2/24 up

#  Delete  network namespace
sudo ip netns delete ns0
sudo ip netns delete ns1

Multiple virtual networks are interconnected

#!/bin/bash

### centos
## yum install -y bridge-utils
### ubuntu
## apt-get install -y bridge-utils

#  Add the bridge  br0
sudo brctl addbr br0

#  Start the bridge  br0
sudo ip link set br0 up

#  establish  network namespace ns0 ns1 ns2
sudo ip netns add ns0
sudo ip netns add ns1
sudo ip netns add ns2

#  establish  veth peer
sudo ip link add veth0-ns type veth peer name veth0-br
sudo ip link add veth1-ns type veth peer name veth1-br
sudo ip link add veth2-ns type veth peer name veth2-br

#  take  veth  Move one end of to netns in 
sudo ip link set veth0-ns netns ns0
sudo ip link set veth1-ns netns ns1
sudo ip link set veth2-ns netns ns2

#  binding  ip
sudo ip netns exec ns0 ip link set dev lo up
sudo ip netns exec ns1 ip link set dev lo up
sudo ip netns exec ns2 ip link set dev lo up
sudo ip netns exec ns0 ifconfig veth0-ns 10.1.1.1/24 up
sudo ip netns exec ns1 ifconfig veth1-ns 10.1.1.2/24 up
sudo ip netns exec ns2 ifconfig veth2-ns 10.1.1.3/24 up

#  Set the default route , Can stay overnight host 
sudo ip netns exec ns0 route add default gw 10.1.1.254 veth0-ns
sudo ip netns exec ns1 route add default gw 10.1.1.254 veth1-ns
sudo ip netns exec ns2 route add default gw 10.1.1.254 veth2-ns

#  take  veth  The other end of is started and attached to the bridge 
sudo ip link set veth0-br up
sudo ip link set veth1-br up
sudo ip link set veth2-br up
sudo brctl addif br0 veth0-br
sudo brctl addif br0 veth1-br
sudo brctl addif br0 veth2-br

#  Set up the bridge  IP
sudo ip addr add 10.1.1.254/24 dev br0

#  Remove the bridge 
sudo ifconfig veth0-br 0
sudo ifconfig veth1-br 0
sudo ifconfig veth2-br 0
sudo brctl delif br0 veth0-br
sudo brctl delif br0 veth1-br
sudo brctl delif br0 veth2-br
sudo ip link set br0 down
sudo brctl delbr br0

other

  • I haven't got through the virtual network yet, how to access the external network
  • The host restarts , The network settings of the above command will be reset , Reassurance experiment
原网站

版权声明
本文为[fananchong2]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207071651158244.html