Ubuntu 网络
目录
查看 IP
ifconfig
ifconfig ens33
root@k8s-n01:~# ifconfig ens33
ens33 Link encap:Ethernet HWaddr 00:0c:29:50:52:36
inet addr:192.168.0.181 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe50:5236/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:870490 errors:0 dropped:0 overruns:0 frame:0
TX packets:832070 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:602840141 (602.8 MB) TX bytes:263397395 (263.3 MB)
或者
ip addr
ip addr show dev ens33
root@k8s-n01:~# ip addr show dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:50:52:36 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.181/24 brd 192.168.0.255 scope global ens33
valid_lft forever preferred_lft forever
inet 10.10.50.104/24 brd 10.10.50.255 scope global ens33:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe50:5236/64 scope link
valid_lft forever preferred_lft forever
IP 地址配置
网络配置文件:
vim /etc/network/interfaces
iface lo inet loopback
auto lo
# management
auto ens33
iface ens33 inet static
address 192.168.0.181
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 223.5.5.5
#secondary 地址配置
auto ens33:1
iface ens33:1 inet static
address 10.10.50.104
netmask 255.255.255.0
# k8s-access
auto ens192
iface ens192 inet static
address 10.0.0.10
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 192.168.10.17
dns-search vmware.local
# k8s-transport(仅设置接口状态为 up)
auto ens224
iface ens224 inet manual
ip link set ens224 up
手动配置 IP 地址(临时)
ifconfig ens33 192.168.0.20 netmask 255.255.255.0 up
#添加 secondary 地址
ifconfig ens33 add 192.168.1.20 netmask 255.255.255.0 up
或
ip addr add 10.1.1.1/24 dev ens33
#删除地址配置
ip addr del 10.1.1.1/24 dev ens33
手动设置网关(临时)
sudo route add default gw 10.1.1.1
#删除网关配置
sudo route del default gw 10.1.1.1
修改网卡 mac 地址
配置文件:
vim /etc/network/interfaces
auto ens33
iface ens33 inet static
hwaddress ether 08:00:00:00:00:01
手动配置(临时)
ifconfig ens33 hw ether 00:0c:29:ab:66:72
或者
ip link show
ip link set dev ens33 address 00:0c:29:ab:66:73
修改网卡MTU
临时
ip link set dev ens33 mtu 8950
重启网络服务(16.06之后)
systemctl restart networking
域名解析相关
Hosts 文件:
vim /etc/hosts
192.168.10.100 n01.vmware.local
192.168.10.91 m01.vmware.local
192.168.10.92 m02.vmware.local
192.168.10.93 m03.vmware.local
DNS 配置文件(此文件内容会根据 interfaces 中的 DNS 配置自动更新):
vim /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 223.6.6.6
安装 ping、wget 等网络相关工具
apt-get install wget net-tools bridge-utils tcpdump -y
veth pair
添加 veth
ip link veth0 type veth peer name veth1
ip addr add 10.1.1.1/24 dev veth0
ip addr add 10.1.1.2/24 dev veth1
ip link set veth0 up
ip link set veth1 up
桥接相关
添加 bridge
ip link add name br0 type bridge
ip link set br0 up
或者
brctl addbr br0
为 bridge 设置 IP
ip addr add 10.1.1.1/24 dev br0
将接口关联到 bridge
ip link set dev veth0 master br0
#或者
brctl addif br0 veth0
查看有 bridge 下有哪些设备
root@k8s-m01:~# bridge link
6: veth19269bd state UP @(null): <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 master docker0 state forwarding priority 32 cost 2
#或者
brctl show
root@k8s-n01:~# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.02422c4c4531 no veth057cc45
网络命令空间(network namespace)
添加网络 namespace
ip netns add networkns1
在命令空间中执行 ip link list
ip netns exec networkns1 ip link list
查看有哪些namespace
ip netns list
删除命令空间
ip netns delete networkns1
将设备分配到某命令空间
ip link set veth1 netns networkns1
#设置地址
ip netns exec networkns1 ifconfig veth1 10.1.1.2/24 up
关闭 UFW
systemctl stop ufw
ufw disable
修改网卡的名称(18.04)
1、获取网卡的 MAC 地址
ip addr
2、创建/编辑 70-persistent-net.rules 文件,里面的 address 代表网卡 MAC 地址,NAME 代表修改后的名称。
nano /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:yy:xx:yy:xx:yy", NAME="INTERFACENAME"
3、替换 /etc/netplan/filename.yaml 中网卡的名称
ethernets:
INTERFACENAME:
4、编辑 Grub 配置文件
nano /etc/default/grub
#将下列行替换为后面的内容
#GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_LINUX="net.ifnames=1 biosdevname=0"
5、更新 grub
update-grub
6、重启操作系统
参考资料:
https://www.tomvanbrienen.nl/how-to-rename-ubuntu-18-04-an-network-ethernet-interface/
《k8s 网络权威指南》