ip是一个非常强大的实用程序,用于执行许多任务。较早使用了多个较早的实用程序,例如ifconfig和route命令来执行这些功能。在本文中,我将分享使用ip命令配置网络接口和路由的不同示例。
3.根据接口类型列出接口
Linux系统上可以使用各种类型的NIC,例如vlan,bond,bridge,vxlan等。
https://www.cnblogs.com/lianglab/p/14127210.html
在mac 上的工具是iproute2mac
CLI wrapper for basic network utilities on Mac OS X inspired with iproute2 on Linux systems - ip command.
Provided functionality is limited and command output is not fully compatible with iproute2.
https://github.com/brona/iproute2mac
网络配置工具是用来检测网络状态及配置相关信息的辅助性工具,iproute2是linux下管理控制TCP/IP网络和流量控制的新一代工具包,出现目的是替代老工具链net-tools,查阅一些资料获悉,net-tools是通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2通过netlink套接字接口与内核通讯,在多个任务的情况下,iproute的效率会更高,这两个与内核通信的不同方式便是这两个工具链的最本质区别。
二、基本使用
1、ip addr show(ip a)和ifconfig -a的作用一样,可以查看网卡设备
ip a,可以看到有两个网卡,ens33这个网卡的up显示网络连接正常
https://www.cnblogs.com/iyuanyuan/p/11944889.html
环境信息
两个节点:192.168.25.129、192.168.49.101
配置
节点192.168.25.129上开始配置:
ip netns add net1
ip netns add net2
ip link add ipv1 link eth0 type ipvlan mode l3
ip link add ipv2 link eth0 type ipvlan mode l3
ip link set ipv1 netns net1
ip link set ipv2 netns net2
ip netns exec net1 ip link set ipv1 up
ip netns exec net2 ip link set ipv2 up
ip netns exec net1 ip addr add 100.200.25.100/24 dev ipv1
ip netns exec net2 ip addr add 200.100.25.100/24 dev ipv2
ip netns exec net1 ip route add default dev ipv1
ip netns exec net2 ip route add default dev ipv2
配置完成后,net1可以ping通net2,但无法访问主机。
使用veth-pair的形式打通与主机的通信:
ip link add veth1 type veth peer name veth1-peer
ip link set veth1-peer netns net1
ip netns exec net1 ip link set veth1-peer up
ip link set veth1 up
ip route add 100.200.25.100/32 dev veth1
ip netns exec net1 ip route add 192.168.25.129/32 dev veth1-peer
通过配置定向路由和veth对,实现了主机和net1间的互相通信,但是此时net1无法访问其他主机,通过修改路由和iptable实现:
iptables -t nat -A POSTROUTING -s 100.200.25.100/24 -j MASQUERADE
ip netns exec net1 ip route add 192.168.49.0/24 via 192.168.25.129 dev veth1-peer
配置后,net1可以访问另一台主机192.168.49.101。
https://juejin.cn/post/6982767306782801928