ip 指令可以代替老的 ifconfig 指令。
[ip]------------------------------------------------------
#新增一个ip,注意label必须包含接口名如eth0-1
ip addr add 192.168.1.242/24 brd + dev eth0 label eth0-1
#删除一个ip
ip addr del 192.168.1.242/24 dev eth0
#启用禁用网卡
ip link set dev eth1 up
ip link set dev eth1 down
ip link set txqueuelen 10000 dev eth0
ip link set mtu 9000 dev eth0
#n/neighbour/neigh
ip n show
ip n add 192.168.1.5 lladdr 00:1a:30:38:a8:00 dev eth0 nud perm/stale/reachable
#删除mac
ip n del 192.168.1.5 dev eth1
#改变状态
ip n chg 192.168.1.100 dev eth1 nud reachable
#r/route list/show
ip r
ip r add default via 192.168.1.1
ip r add 192.168.1.0/24 via 192.168.1.1
ip r del 192.168.1.0/24 via 192.168.1.1
双网卡系统,一个是杭州网卡em1,ip为1.1.1.1
另一个是香港网卡em2,ip为2.2.2.2
现在有这样的需求,默认从em2网卡出去,即默认路由为em2
而如果流量是从em1进来的,那么从em1出去而不走默认路由
#添加路由表
#权重(越小优先级越高) 表名
echo '1 tbname' >> /etc/iproute2/rt_tables
#新建规则,即源ip为1.1.1.1,一律走tbname路由表
ip rule add from 1.1.1.1 table tbname
#设置路由表tbname的路由规则
ip route add default via 192.168.1.1 dev em1 table tbname
#是否校验源ip地址
/proc/sys/net/ipv4/conf/all/rp_filter
/proc/sys/net/ipv4/conf/default/rp_filter
/proc/sys/net/ipv4/conf/ens33/rp_filter
#0代表不校验,即从em1进可以从em2出
DEVICE 接口名(设备,网卡)
USERCTL [yes|no](非root用户是否可以控制该设备)
BOOTPROTO IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
HWADDR MAC地址
ONBOOT 系统启动的时候网络接口是否有效(yes/no)
TYPE 网络类型Ethemet/Bridge
NETMASK 网络掩码
IPADDR IP地址
IPV6INIT IPV6是否有效(yes/no)
GATEWAY 默认网关IP地址
BROADCAST 广播地址
NETWORK 网络地址
DEFROUTE=yes 支持不同网卡路由
PEERDNS 如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;
NM_CONTROLLED 是否使用NetworkManager服务来控制接口
[普通静态配置实例]
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.3
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
DNS1=114.114.114.114
[brctl]--------------------------------------------------
brctl addbr br0 #创建网桥
brctl addif br0 eth0 #添加成员
brctl addif br0 eth1 #添加成员
brctl delif br0 eth1 #删除成员
brctl stp br0 on #打开stp
brctl delbr br0 #删除网桥
brctl show #查看网桥
brctl --help #查看帮助
#例子---配置网桥
#ifcfg-br0
TYPE=Bridge
DEVICE=br0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.0.0.90
GATEWAY=10.0.0.2
NETMASK=255.255.255.0
#ifcfg-enp5s0f0
#这里的名字根据网卡的实际名字来决定
DEVICE=enp5s0f0
BRIDGE=br0
ONBOOT=yes
TYPE=Ethernet
#例子-配置bond
bond0
1. 轮转策略:按照顺序轮流使用每个接口来发送和接收数据包,需要交换机链路聚合
bond1
1.主备策略:只使用其中一个网卡,当网卡损坏时激活另外的一个网卡
bond5
1.不需要配置交换机.在每个网卡会根据上根据当前的负载情况来分配流量。
2.如果一个网卡出现故障,那么另外一个网卡会接管故障网卡
#ifcfg-bond5
DEVICE=bond5
BONDING_OPTS="mode=balance-tlb"
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=bond5
ONBOOT=yes
PREFIX=24
IPADDR=192.168.1.3
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
DNS1=192.168.30.202
#ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
MASTER=bond5
SLAVE=yes
#ifcfg-eno33554984
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
MASTER=bond5
SLAVE=yes