Linux基础命令-网络配置和相关命令

  • 网络配置和相关命令
    • 一、基本网络配置
    • 二、网卡名称
      • 1. 网卡别名
      • 2. 设备别名
      • 3. 实验
    • 三、网络配置方式
      • 1. ifconfig命令
      • 2. route命令
        • 1)实验
        • 2)配置动态路由协议
      • 3. netstat命令
      • 4. ip命令
      • 5. ss命令
      • 6. nmcli命令
        • 1)nmcli实现bonding
      • 7. 测试网络工具
      • 8. 比较ip和ifconfig,route,ifup,ifdown,netstat
    • 四、网络配置文件
      • 1. 主机名和本地解析器
      • 2. dns名字解析
    • 五、Bonding(多网卡绑定)
    • 六、网络组Network Teaming
    • 七、网桥

网络配置和相关命令

一、基本网络配置

将Linux主机接入到网络,需要配置网络相关设置
一般包括如下内容:主机名IP/netmask路由:默认网关DNS服务器主DNS服务器次DNS服务器第三DNS服务器

二、网卡名称

Centos6网卡名称
1.接口命名方式:CentOS 6以太网:eth[0,1,2,...]ppp:ppp[0,1,2,...]
2.网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules
3.查看网卡:dmesg |grep –i ethethtool -i eth0
4.卸载网卡驱动:modprobe -r e1000rmmod e1000
5.装载网卡驱动:modprobe e1000
CentOS7网卡名称
CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化
CentOS 7使用基于硬件,设备拓扑和设置类型命名:
1.网卡命名机制systemd对网络设备的命名方式(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56(e) 上述均不可用时,则使用传统命名机制
基于BIOS支持启用biosdevname软件内置网卡:em1,em2pci卡:pYpX Y:slot ,X:port
2.名称组成格式en: Ethernet 有线局域网wl: wlan 无线局域网ww: wwan无线广域网名称类型:o<index>: 集成设备的设备索引号s<slot>: 扩展槽的索引号x<MAC>: 基于MAC地址的命名p<bus>s<slot>: enp2s1

1. 网卡别名

对虚拟主机有用
1.将多个IP地址绑定到一个NIC上eth0:1 、eth0:2、eth0:3
2.ifconfig命令:ifconfig eth0:0 192.168.1.100/24 upifconfig eth0:0 down
3.ip命令:ip addr add 172.16.1.2/16 dev eth0ip addr add 172.16.1.1/16 dev eth0 label eth0:0ip addr add 172.16.1.2/16 dev eth0 label eth0:0ip addr del 172.16.1.1/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:0

2. 设备别名

1.为每个设备别名生成独立的接口配置文件• 关闭NetworkManager服务• ifcfg-ethX:xxx• 必须使用静态联网DEVICE=eth0:0IPADDR=10.10.10.10NETMASK=255.0.0.0ONPARENT=yes
2.注意:service network restart 生效
3.参考:/usr/share/doc/initscripts-*/sysconfig.txt

3. 实验

要求:配置centos7和centos6 eth0:0,地址分别是172.16.1.7/16和172.16.1.6/16 然后通过centos7pingcentos6.
1.centos6的配置cd /etc/sysconfig/network-scripts/vim ifcfg-eth0:0DEVICE=eth0:0IPADDR=172.16.1.6NETMASK=255.255.0.0service network restartip addr或ifconfig查看结果
2.centos7的配置cd /etc/sysconfig/network-scripts/vim ifcfg-eth0:0DEVICE=eth0:0IPADDR=172.16.1.7NETMASK=255.255.0.0systemctl restart networkip addr或ifconfig查看结果
3.centos7下验证ping 172.16.1.6

三、网络配置方式

1. ifconfig命令

ifconfig命令
ifconfig 网络接口 [选项] 地址/参数
Linux 系统配置网卡的命令工具,可用于查看和更改网络接口的地址和参数,包括IP 地址、广播地址、子网掩码和物理地址,也可激活和关闭网卡。ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>]
[io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>]
[netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]add<地址> 设置网络设备IPv6的IP地址。del<地址> 删除网络设备IPv6的IP地址。down 关闭指定的网络设备。<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。io_addr<I/O地址> 设置网络设备的I/O地址。irq<IRQ地址> 设置网络设备的IRQ。media<网络媒介类型> 设置网络设备的媒介类型。mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。mtu<字节> 设置网络设备的MTU。netmask<子网掩码> 设置网络设备的子网掩码。tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。up 启动指定的网络设备。-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。-promisc 关闭或启动指定网络设备的promiscuous模式。[IP地址] 指定网络设备的IP地址。[网络设备] 指定网络设备的名称。
例子:
1)启动关闭指定网卡ifconfig eth0 downifconfig eth0 up
2)为网卡配置和删除IPv6地址ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡诶之IPv6地址ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
3)用ifconfig修改MAC地址ifconfig eth0 down //关闭网卡ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址ifconfig eth0 up //启动网卡ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址 ifconfig eth1 up //启动网卡
4)配置IP地址ifconfig eth0 192.168.1.56 //给eth0网卡配置IP地址ifconfig eth0 192.168.1.56 netmask 255.255.255.0 // 给eth0网卡配置IP地址,并加上子掩码ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
5)启用和关闭ARP协议ifconfig eth0 arp  //开启ifconfig eth0 -arp  //关闭
6)设置最大传输单元ifconfig eth0 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes

2. route命令

route命令
路由管理命令
route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help
(1) 选项-C        //显示路由缓存。-F     //显示发送信息-v      //显示详细的处理信息。-n      //不解析名字。-ee     //使用更详细的资讯来显示-V     //显示版本信息。-net   //到一个网络的路由表。-host   //到一个主机的路由表。
(2) 参数add           //增加路由记录。del            //删除路由记录。target     //目的网络或目的主机。gw          //设置默认网关。gateway 的简写,后续接的是 IP 的数值。mss            //设置TCP的最大区块长度(MSS),单位MB。window        //指定通过路由表的TCP连接的TCP窗口大小。dev         //如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等。reject        //设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。
例子:
1)添加和删除路由
route {add | del } [-net|-host] [网域或主机] netmask [mask] [gw|dev]  增加 (add) 与删除 (del) 路由的相关参数:(a) -net :表示后面接的路由为一个网域。(b) -host :表示后面接的为连接到单部主机的路由。(c) netmask :与网域有关,可以设定 netmask 决定网域的大小。(d) gw :gateway 的简写,后续接的是 IP 的数值,与 dev 不同。(e) dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等。 例1:route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0例2:route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0例3:route add -host 192.168.1.3 gw 172.16.0.1 dev eth02)查询路由信息
route -nee (a) -n:不要使用通讯协定或主机名称,直接使用 IP 或 port number。(b) -ee:使用更详细的资讯来显示。3)添加/删除默认网关路由
route {add | del } default gw {IP-ADDRESS} {INTERFACE-NAME} (a) IP-ADDRESS:用于指定路由器(网关)的IP地址。(b) INTERFACE-NAME:用于指定接口名称,如eth0。 例1:route add default gw 192.168.1.1 eth0例2:route del default gw 192.168.1.1 eth0例3: route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1例4: route add default gw 192.168.233.2 dev eth1 metric 994)添加/删除到指定网络的路由规则
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME} (a) NETWORK-ADDRESS:用于指定网络地址。(b) NETMASK:用于指定子网掩码。(c) INTERFACE-NAME:用于指定接口名称,如eth0。 例1:route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0例2:route del -net 192.168.1.0 netmask 255.255.255.0 dev eth05)添加/删除路由到指定网络为不可达
设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} reject (a) NETWORK-ADDRESS:用于指定网络地址。(b) NETMASK:用于指定子网掩码。 例1:route add -net 10.0.0.0 netmask 255.0.0.0 reject例2:route del -net 10.0.0.0 netmask 255.0.0.0 reject
查看路由信息
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.233.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
字段 说明
Destination 目标网络或目标主机。Destination 为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关。
Gateway 网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关。如果没有就显示星号(*)。
Genmask Destination 字段的网络掩码,Destination 是主机时需要设为 255.255.255.255,是默认路由时会设置为 0.0.0.0
Metric 路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的。
Ref 路由项引用次数 。
Use 此路由项被路由软件查找的次数。
Iface 网卡名字,例如 eth0。

Flags
● U 该路由可以使用。
● H 该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。如果没有设置该标志,说明该路由是到一个网络而目的地址是一个网络地址:一个网络号,或者网络号与子网号的组合。
● G 该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地 是直接相连的。
● R 恢复动态路由产生的表项。
● D 该路由是由改变路由(redirect)报文创建的。
● M 该路由已被改变路由报文修改。
● ! 这个路由将不会被接受。

1)实验

1)路由选择分析
当TCP/IP需要向某个IP地址发起通信时,它会对路由表进行评估,以确定如何发送数据包。评估过程如下:
(1) TCP/IP使用需要通信的目的IP地址和路由表中每一个路由项的网络掩码进行相与计算,如果相与后的结果匹配对应路由项的网络地址,则记录下此路由项。
(2) 当计算完路由表中所有的路由项后,(a) TCP/IP选择记录下的路由项中的最长匹配路由(网络掩码中具有最多“1”位的路由项)来和此目的IP地址进行通信。(b) 如果存在多个最长匹配路由,那么选择具有最低跃点数的路由项。(c) 如果存在多个具有最低跃点数的最长匹配路由,那么:均根据最长匹配路由所对应的网络接口在网络连接的高级设置中的绑定优先级来决定(一般有线(eth0) > 无线 (wlan0) > 移动信号(4G))。(d) 如果优先级一致,则选择最开始找到的最长匹配路由。(排在前面的路由)验证分析
1) 验证:traceroute www.baidu.com
我们通过路由表可以知道有两条相同默认路由可以选择,由于先找到192.168.31.1 网关路由,所以最后选择了 192.168.31.1 网关。[root@centos7 ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.31.1    0.0.0.0         UG    100    0        0 eth0
0.0.0.0         10.0.7.254      0.0.0.0         UG    101    0        0 eth1
10.0.7.0        0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.31.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0[root@centos7 ~]#traceroute www.baidu.com
traceroute to www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets1  XiaoQiang (192.168.31.1)  0.495 ms  0.562 ms  0.632 ms2) 删除原先路由,重新添加路由
重新添加路由后,我们通过路由表可以知道有两条相同默认路由可以选择,由于先找到10.0.7.254网关路由,所以最后选择了 10.0.7.254 网关。[root@centos7 ~]#route del default gw 192.168.31.1
[root@centos7 ~]#route del default gw 10.0.7.254
[root@centos7 ~]#route add default gw 192.168.31.1
[root@centos7 ~]#route add default gw 10.0.7.254
[root@centos7 ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.7.254      0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.31.1    0.0.0.0         UG    0      0        0 eth0[root@centos7 ~]#traceroute www.baidu.com
traceroute to www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets1  XiaoQiang (10.0.7.254)  1.127 ms  1.033 ms  0.973 ms

2)配置动态路由协议

通过守护进程获取动态路由• 安装quagga包• 支持多种路由协议:RIP、OSPF和BGP• 命令vtysh配置

3. netstat命令

netstat命令
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
Linux netstat命令用于显示网络状态,利用netstat指令可让你得知整个Linux系统的网络情况.-t: tcp协议相关-u: udp协议相关-w: raw socket相关-l: 处于监听状态-a: 所有状态-n: 以数字显示IP和端口-e:扩展格式-p: 显示相关进程及PID
常用组合:-tan, -uan, -tnl, -unl
显示路由表:netstat {--route|-r} [--numeric|-n]-r: 显示内核路由表-n: 数字格式
显示接口统计数据:netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p][--numeric|-n]netstat -inetstat –I=IFACEifconfig -s eth0

4. ip命令

ip命令
配置Linux网络属性:ip 命令
(1)ip - show / manipulate routing, devices, policy routing and tunnelsip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route }ip link - network device configurationset dev IFACE可设置属性:up and down:激活或禁用指定接口ifup/ifdownshow [dev IFACE]:指定接口[up]:仅显示处于激活状态的接口例1:ip link set eth1 down例2:ip link show up(2)ip addr { add | del } IFADDR dev STRING[label LABEL]:添加地址时指明网卡别名[scope {global|link|host}]:指明作用域global: 全局可用link: 仅链接可用host: 本机可用[broadcast ADDRESS]:指明广播地址例1: ip addr add 1.1.1.1/24  scope global dev eth1 label eth1:0例2: ip addr del 1.1.1.1/24 dev eth1 label eth1:0(3)ip address show - look at protocol addresses[dev DEVICE][label PATTERN][primary and secondary]例1: ip addr show dev eth1 (4)ip addr flush 使用格式同showip addr add 172.16.100.100/16 dev eth0 label eth0:0ip addr del 172.16.100.100/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:0(5)ip route - routing table management添加路由:ip route addip route add TARGET via GW dev IFACE src SOURCE_IPTARGET:主机路由:IP网络路由:NETWORK/MASKip route add 192.168.0.0/24 via 172.16.0.1ip route add 192.168.1.13 via 172.16.0.1添加网关:ip route add default via GW dev IFACEip route add default via 172.16.0.1删除路由:ip route del TARGET例1: ip route del default via 10.0.7.254显示路由:ip route show|list清空路由表:ip route flush [dev IFACE] [via PREFIX]ip route flush dev eth0

5. ss命令

ss命令
格式:ss [OPTION]... [FILTER]
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息
选项:-t: tcp协议相关-u: udp协议相关-w: 裸套接字相关-x:unix sock相关-l: listen状态的连接-a: 所有-n: 数字格式-p: 相关的程序及PID-e: 扩展的信息-m:内存用量-o:计时器信息FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常见状态:tcp finite state machine:LISTEN: 监听ESTABLISHED:已建立的连接FIN_WAIT_1: 等待第一阶段FIN_WAIT_2: 等待第二阶段SYN_SENTSYN_RECVCLOSED
EXPRESSION:dport =sport =示例:’( dport = :ssh or sport = :ssh )’
常用组合:-tan, -tanl, -tanlp, -uanss -l 显示本地打开的所有端口ss -pl 显示每个进程具体打开的socketss -t -a 显示所有tcp socketss -u -a 显示所有的UDP Socektss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接ss -s 列出当前socket详细信息

6. nmcli命令

nmcli命令
地址配置工具:nmcli
(1)nmcli [ OPTIONS ] OBJECT { COMMAND | help }device - show and manage network interfacesnmcli device helpconnection - start, stop, and manage network connectionsnmcli connection help
(2)修改IP地址等属性:nmcli connection modify IFACE [+|-]setting.property valuesetting.property:ipv4.addresses ipv4.gatewayipv4.dns1 ipv4.method manual | auto
(3)修改配置文件执行生效:systemctl restart networknmcli con reload
(4)nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0
(5)NeworkManager是管理和监控网络设置的守护进程
(6)设备即网络接口,连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效
(7)显示所有包括不活动连接nmcli con show
(8)显示所有活动连接nmcli con show --active
(9)显示网络连接配置nmcli con show "System eth0“
(10)显示设备状态nmcli dev status
(11)显示网络接口属性nmcli dev show eth0
(12)创建新连接default,IP自动通过dhcp获取nmcli con add con-name default type Ethernet ifname eth0
(13)删除连接nmcli con del default
(14)创建新连接static ,指定静态IP,不自动连接nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254
(15)启用static连接配置nmcli con up static
(16)启用default连接配置nmcli con up default
(17)查看帮助nmcli con add help
(18)修改连接设置nmcli con mod “static” connection.autoconnect nonmcli con mod “static” ipv4.dns 172.25.X.254nmcli con mod “static” +ipv4.dns 8.8.8.8nmcli con mod “static” -ipv4.dns 8.8.8.8nmcli con mod “static” ipv4.addresses “172.16.X.10/24 172.16.X.254”nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
(19)DNS设置,存放在/etc/resolv.conf文件中PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取等价于下面命令:nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
(20)修改连接配置后,需要重新加载配置nmcli con reloadnmcli con down “system eth0” 可被自动激活nmcli con up “system eth0”nmcli dev dis eth0 禁用网卡,访止被自动激活
(21)图形工具nm-connection-editor
(22)字符工具nmtuinmtui-connectnmtui-editnmtui-hostname


1)nmcli实现bonding

(1)添加bonding接口nmcli con add type bond con-name mybond0 ifname bond0 modeactive-backup
(2)添加从属接口nmcli con add type bond-slave ifname ens7 master bond0nmcli con add type bond-slave ifname ens3 master bond0注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
(3)要启动绑定,则必须首先启动从属接口nmcli con up bond-slave-eth0nmcli con up bond-slave-eth1
(4)启动绑定nmcli con up mybond0

7. 测试网络工具

(1)在命令行下测试网络的连通性显示主机名hostname测试网络连通性ping显示正确的路由表ip route
(2)跟踪路由traceroutetracepathmtr
(3)确定名称服务器使用nslookuphostdig

8. 比较ip和ifconfig,route,ifup,ifdown,netstat

1. 查看 IP 地址和数据统计
ifconfig 版本:ifconfig:显示 up 状态的端口信息,包括 ip、mac、统计等。ifconfig -a:显示所有状态的端口信息,包括 ip、mac、统计等。ip 版本:ip addr(简写成 ip a):显示所有端口信息,包括 ip、mac、up/down 等。ip -4 a:仅显示带 ipv4 地址的端口信息。ip -s link:显示所有端口统计信息。ip -s link ls eth0:显示 eth0 端口的统计信息。ip -s -s link ls eth0:更详细地显示 error 信息。
2. 添加/删除端口的 ip 地址
ifconfig 版本:ifconfig eth0 192.168.120.56 netmask 255.255.255.0:临时添加 eth0 的 ip 地址。
ip版本:ip addr add 192.168.2.199/24 dev eth0:临时添加 eth0 的 ip 地址。ip addr del 192.168.2.199/24 dev eth0:删除 eth0 的 ip 地址。
3. UP/DOWN 端口
ifconfig 版本:ifconfig eth0 up:将端口 eth0 启动。ifconfig eth0 down:将端口 eth0 关闭。
ifup/ifdown 版本:ifup ifcfg-eth0:将端口 eth0 启动。ifdown ifcfg-eth0:将端口 eth0 关闭。
ip 版本:ip link set dev eth0 up:将端口 eth0 启动(无需 ifcfg-eth0 文件存在)。ip link set dev eth0 down:将端口 eth0 启动(无需 ifcfg-eth0 文件存在)。
4. 路由配置
route 版本:route -n:查看路由信息route add default gw 192.168.1.1 eth0:添加默认网关路由route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0:添加到网络的路由route add -host 10.20.30.148 gw 10.20.30.40:添加到主机的路由
ip 版本:ip route:查看路由信息ip route add default via 192.168.1.1:添加默认网关路由ip route add 192.168.0.0/24 via 192.168.1.2:添加到网络的路由ip route add 192.168.1.3 via 172.16.0.1 dev eth0:添加到主机的路由原文链接:https://blog.csdn.net/zzboat0422/article/details/93979978

四、网络配置文件

(1)IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/networkscripts/ifcfg-IFACE
(2)路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE• 注意:需service network restart生效• 两种风格:(1) TARGET via GW如:10.0.0.0/8 via 172.16.0.1(2) 每三行定义一条路由ADDRESS#=TARGETNETMASK#=maskGATEWAY#=GW
(3)/etc/sysconfig/network-scripts/ifcfg-IFACE:说明参考/usr/share/doc/initscripts-9.49.30/sysconfig.txtDEVICE:此配置文件应用到的设备HWADDR:对应的设备的MAC地址BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static,none, bootpNM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”ONBOOT:在系统引导时是否激活此设备TYPE:接口类型;常见有的Ethernet, BridgeUUID:设备的惟一标识IPADDR:指明IP地址NETMASK:子网掩码GATEWAY: 默认网关DNS1:第一个DNS服务器指向DNS2:第二个DNS服务器指向USERCTL:普通用户是否可控制此设备PEERDNS:如果BOOTPROTO的值为“dhcp”,YES将允许dhcp server分配的dns服务器信息直接覆盖至/etc/resolv.conf文件,NO不允许修改resolv.conf
(4)设备配置被保存在文本文件中/etc/sysconfig/network-scripts/ifcfg-<name>帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt动态配置 DEVICE=ethXHWADDR=0:02:8A:A6:30:45BOOTPROTO=dhcpONBOOT=yesType=Ethernet静态配置DEVICE=ethXHWADDR=0:02:8A:A6:30:45IPADDR=192.168.0.123NETMASK=255.255.255.0GATEWAY=192.168.0.254ONBOOT=yesType=Ethernet

1. 主机名和本地解析器

(1)配置当前主机的主机名:hostname [HOSTNAME]/etc/sysconfig/networkHOSTNAME=
(2)解析器执行正向和逆向查询
(3)/etc/hosts• 本地主机名数据库和IP地址的映像• 对小型独立网络有用• 通常,在使用DNS前检查• getent hosts 查看/etc/hosts 内容

2. dns名字解析

(1)/etc/resolv.confnameserver DNS_SERVER_IP1nameserver DNS_SERVER_IP2nameserver DNS_SERVER_IP3search magedu.com
(2)/etc/nsswitch.conf与/etc/hosts相比优先于DNS
(3)正向解析:FQDN-->IPdig -t A FQDNhost -t A FQDN
(4)反向解析:IP-->FQDNdig -x IPhost -t PTR IP

五、Bonding(多网卡绑定)

Bonding
将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

(1)Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave 接口上面发送数据包。本模式提供负载均衡和容错的能力
(2)Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
(3)Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文,提供容错能力
(4)active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和EtherChannel
(1)创建bonding设备的配置文件/etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0NAME=bond0BONDING_OPTS= “miimon=100 mode=0”IPADDR=10.0.7.60PERFIX=24
(2)/etc/sysconfig/network-scripts/ifcfg-eth0或者ifcfg-eth1都添加下面两条参数MASTER=bond0SLAVE=yes重启网卡service network restart
(3)查看bond0状态:/proc/net/bonding/bond0
(4)测试,用另一台机器ping10.0.7.60,断开一个网卡设备还是可以正常通信,但是可以看到丢了一个包,把mode=0改成mode=3,重启网卡设备可以看到ping的条目会出现重复的字眼.
(4)miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
(5)删除bond0ifconfig bond0 downrmmod bonding
(6)详细帮助:/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txthttps://www.kernel.org/doc/Documentation/networking/bonding.txt

六、网络组Network Teaming

1.网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
2.网络组不同于旧版中bonding技术,提供更好的性能和扩展性
3.网络组由内核驱动和teamd守护进程实现.
4.多种方式runnerbroadcastroundrobinactivebackuploadbalancelacp (implements the 802.3ad Link Aggregation Control Protocol)
5.启动网络组接口不会自动启动网络组中的port接口
6.启动网络组接口中的port接口总会自动启动网络组接口
7.禁用网络组接口会自动禁用网络组中的port接口
8.没有port接口的网络组接口可以启动静态IP连接
9.启用DHCP连接时,没有port接口的网络组会等待port接口的加入
创建网络组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]CNAME 连接名,INAME 接口名JSON 指定runner方式格式:'{"runner": {"name": "METHOD"}}'METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
创建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAMCNAME 连接名INAME 网络接口名TEAM 网络组接口名
连接名若不指定,默认为team-slave-IFACEnmcli dev dis INAMEnmcli con up CNAMEINAME 设备名 CNAME 网络组接口名或port接口
ip link
nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
nmcli con mod team0 ipv4.addresses '192.168.31.100/24'
nmcli con mod team0 ipv4.method manual
nmcli con add con-name team0-eth0 type team-slave ifname eth0 master team0
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
teamdctl team0 state
ping -I team0 192.168.31.1
nmcli dev dis eth0
teamdctl team0 state
nmcli con up team0-eth0
nmcli dev dis eth1
teamdctl team0 state
nmcli con up team0-eth1
teamdctl team0 state
管理网络组配置文件
/etc/sysconfig/network-scripts/ifcfg-team0-eth1DEVICE=eth1DEVICETYPE=TeamPortTEAM_MASTER=team0NAME=team0-eth1ONBOOT=yes
删除网络组nmcli connection down team0teamdctl team0 statenmcli connection shownmcli connectioni delete team0-eth0nmcli connectioni delete team0-eth1nmcli connection show

七、网桥

桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、D

创建软件网桥nmcli con add con-name mybr0 type bridge ifname br0nmcli con add con-name br0-eth0 type bridge-slave ifname eth0 master br0nmcli con add con-name br0-eth1 type bridge-slave ifname eth1 master br0
查看配置文件cat /etc/sysconfig/network-scripts/ifcfg-br0cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
工具包 yum install bridge-utils
查看网桥 brctl show
查看CAM表 brctl showmacs br0
添加和删除网桥 brctl addbr | delbr br0
添加和删除网桥中网卡 brctl addif | delif eth0
注意:NetworkManager只支持以太网接口接口连接到网桥,不支持聚合接口临时清理ip地址:ifconfig eth1 0.0.0.0实验:
要求,需要三台机器,中间B机器作为网桥交换机
(1)A和C机器的配置网卡设置为桥接模式,只保留一张网卡,通过修改配置文件分别配置A:192.168.31.100 B:192.168.31.200,并且不配置网关.
(2)B机器的配置需要两张网卡,一张为桥接,一张为net模式,ifconfig eth1 0.0.0.0ifconfig eth0 0.0.0.0brctl addbr br0brctl addif br0 eth0 eth1brctl stp br0 onbrctl show
(3)在A机器pingC机器的地址192.168.31.200重点:需要启动br0网桥ifconfig br0 up
这样配置不会写入配置文件,需要需要开机后还在需要用nmcli来操作

Linux基础命令-网络配置和相关命令相关推荐

  1. Linux基础之网络配置

    Linux基础之网络配置 一.查看网络配置 1.查看网络接口状态 2.查看网关路由信息 3.查看dns信息 二.ifconfig网络管理工具使用 1.查看已激活网卡信息 2.查看所有网卡(包括未激活) ...

  2. Linux基础8 - 网络配置

    Linux基础8 - 网络配置 一.网络连接的三种方式 Vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-Only(仅主机模式). ...

  3. Linux基础之-网络配置,主机名设置,ssh登陆,scp传输

    一. 网络配置修改 1.临时修改(ip,dns,netmask,gateway) 临时修改网络配置,只要没有涉及到修改配置文件的,在network服务重启后,所有设置失效 2.永久修改(ip,dns, ...

  4. Fedora下网络配置及相关命令

    网络参数配置 1.Fedora网络设置IP地址 查看你使用的IP网卡 ifconfig -a 找到你要Fedora 网络使用的网卡 vi /etc/sysconfig/network-scripts/ ...

  5. linux防火墙开放所有端口命令,linux centos7 防火墙及端口开放相关命令

    一.防火墙相关命令 1.查看防火墙状态 : systemctl status firewalld.service 注:active是绿的running表示防火墙开启 2.关闭防火墙 :systemct ...

  6. 红旗linux shell方式下配置声卡的命令是:,‘红旗杯’linux大赛——基础知识2

    1. 在chmod 命令中,-v参数的作用是: A. 详细说明组的变化 *B. 详细说明权限的变化 C. 改变本目录及其所有子目录的文件的权限 D. 在文件的权限确实改变时进行详细的说明 2. 为了显 ...

  7. 红旗linux shell方式下配置声卡的命令是:,linux基础知识1

    1. 在chmod 命令中,-v参数的作用是: A. 详细说明组的变化 *B. 详细说明权限的变化 C. 改变本目录及其所有子目录的文件的权限 D. 在文件的权限确实改变时进行详细的说明 2. 为了显 ...

  8. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  9. Linux学习-28-用户间切换相关命令

    8.15 Linux su命令:用户间切换(包含su和su -的区别) su 是最简单的用户切换命令,通过该命令可以实现任何身份的切换,包括从普通用户切换为 root 用户.从 root 用户切换为普 ...

最新文章

  1. 【SQL提数】case..when..then..end的使用
  2. 【量化投资】策略四(聚宽)
  3. 5.修改hadoop配置文件
  4. Hibernate与JDBC、EJB、JDO的比较
  5. python爬虫的scrapy安装+pymongo的安装
  6. 强化学习 —— gym
  7. Mysql - 巧用join来优化sql
  8. 【分享】RSS订阅技巧及工具和实用RSS链接分享
  9. android 百度地图骑行路线颜色及宽度更改
  10. win10升级系统版本的步骤,win10电脑如何升级系统版本
  11. 【论文阅读】UAV-Based Crop and Weed Classification for Smart Farming
  12. iPhone/iPad苹果设备型号对应常用名称列表(2022更新至iPhone 14 Pro Max | iPad Air 5)
  13. 易支付程序对接固码支付
  14. 2020年自考计算机应用基础和实践是什么,2020年自考计算机应用基础复习重点8
  15. 关于scanf函数返回值被忽略的解决方法
  16. 微信小程序——获取openid
  17. 详解LVS配置DR模型
  18. 2010年安防企业与事件盘点
  19. 瀑布流无限加载的原理
  20. CNN网络模型发展进程及各个网络优缺点

热门文章

  1. Kubernetes生产实践系列之二十九:Kubernetes基础技术之容器关键技术实践
  2. 神经网络----萤火虫算法
  3. er图 navicat_navicat如何导出er图
  4. Pandas时序数据Time Series
  5. css选择器之模糊匹配
  6. Android解析——json解析为javabean
  7. 神经网络--基于mnist数据集取得最高的识别准确率
  8. 算法设计与分析——二项堆
  9. vc2010重装问题
  10. c语言编译器可以查出所有什么错误,C语言编译器的错误信息