网卡
网卡查看
ip link show
显示网络接口信息
ip a
显示所有网卡详细信息
- 状态:UP/DOWN/UNKOWN等
- link/ether:MAC地址
- inet:绑定的IP地址
更多ip 命令可见 https://www.runoob.com/linux/linux-comm-ip.html
网卡配置文件
在Linux中网卡对应的其实就是文件,文件路径
/etc/sysconfig/network-scripts/
比如eth0 网卡的信息 cat /etc/sysconfig/network-scripts/ifcfg-eth0
网卡IP管理
添加IP
删除IP
网卡启动关闭
重启网卡:service network restart / systemctl restart network
启动/关闭某个网卡:ifup/ifdown eth0 or ip link set eth0 up/down
网络的NameSpace
在linux上,网络的隔离是通过network namespace来管理的,不同的network namespace是互相隔离的
ip netns list
ip netns add [name]
ip netns delete [name]
使用Virtual Ethernet Pair将两个不同NameSpace下的网卡能通信
Virtual Ethernet Pair,中文称为虚拟网卡接口。它是成对出现的,veth pair就像网线的两个端点,插入计算机的网线接口,使两个计算机相互通信。所以每个veth都需要赋予一个IP才可以实现不同netns之间网络通信。相当于veth 定义了两个IP的信息,告诉机器发送数据到哪里去,从哪里可以接收数据。
- 创建两个Namespace : ns1,ns2
- 创建一个veth pair :
ip link add veth-ns1 type veth peer name veth-ns2
- 将pair 分别分配给namespace
ip link set veth-ns1 netns ns1
- 分别给veth pair 赋予IP
ip netns exec ns1 ip addr add 192.168.0.11/24 dev veth-ns1
- 启动 veth pair
ip netns exec ns1 ip link set veth-ns1 up
- 互相ping通
ip netns exec ns1 ping 192.168.0.12