Linux网络属性管理

目录

一、配置网络接口

1.配置方式

2.接口命名方式

二、ifcfg家族

1.ifconfig

2.route

DNS服务器指定

3.netstat

三、IP家族

1.IP

2.ss

四、修改配置文件

1. /etc/sysconfig/network-scripts/ifcfg-IFACE

2. /etc/sysconfig/network-scripts/route-IFACE

3.给网卡配置多地址

5.Linux网络属性配置的tui(text user interface)

6.配置当前主机的主机名

7.网络接口识别并命名相关的udev配置文件

五、CentOS 7 网络配置

1.网卡命名机制

2.名称组成格式

3.网卡设备的命名过程

4.回归传统命名方式

5.地址配置工具:nmcli

6.网络接口配置tui工具:nmtui

7.主机名称配置工具:hostnamectl

六、网络客户端工具

1.lftp

2. lftpget URL

3.ftp

4.wget

参考资料

一、配置网络接口

问题:将Linux主机接入到网络中需要配置的属性

            IP/mask

            路由:默认网关(最容易)

            DNS服务器

                  主DNS服务器

                  次DNS服务器

                  第三DNS服务器

            (主机名)

1.配置方式

      静态指定:(三种方式)

            仅对当前系统有效

                  ①ifcfgifconfig, route, netstat

                  ②ipobject {link, addr, route}, ss, tc

            永久有效

                  ③基于配置文件

                             system-config-network-tui (setup)

            P.S. CentOS 7上的其他工具:

                             nmcli, nmtui

      动态分配:

                  DHCP:Dynamic Host Configuration Protocol    动态主机配置协议

2.接口命名方式

      CentOS 6:

            以太网:eth[0,1,2,...]      此种命名方式简单,对

            点对点网络:ppp[0,1,2,...]

            光纤网络

      CentOS 7:

            根据插槽来命名

二、ifcfg家族

1.ifconfig

ifconfig [interface]

      # ifconfig -a      显示所有处于活动状态和非活动状态的接口

      # ifconfig IFACE [up|down]  显示特定接口

ifconfig interface [aftype] options | address ...

    # ifconfig IFACE IP/mask [up]    配置某接口的ip地址/子网掩码[ 加up启用接口 ]  P.S. 此处mask使用掩码长度

 

     # ifconfig IFACE IP netmask MASK 

      注意:ifconfig配置后立即生效,但不永久生效

[-]promisc 加了-表示禁用;混杂模式是实现网络监控的必要一步,目标MAC即便不是自己,报文来了也会接收一份

2.route

路由管理命令,用于显示或操纵IP路由表

用法:  

反解:反向解析,从地址到名称

名称解析:从名称到地址

查看:route -n       名称解析

添加:route add

route add  [-net|-host]  target [netmask Nm]  [gw Gw]  [ [dev] If ]

-A family:指明IP地址家族IPV4 / IPV6

host:0.0.0.0 则表示默认路由

target   目标地址

gw       网关(下一跳)

dev       经由本地的哪个网卡通过

练习

目标主机路由:192.168.1.3  网关:172.16.0.1

~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

目标网络路由:192.168.0.0 网关:172.16.0.1

~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

目标添加默认路由,网关:172.16.0.1

       ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

       ~]# route add default gw 172.16.0.1

删除:route del

   route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

目标:192.168.1.3  网关:172.16.0.1

~]# route del -host 192.168.1.3

目标:192.168.0.0 网关:172.16.0.1

~]# route del -net 192.168.0.0 netmask 255.255.255.0

DNS服务器指定

配置文件:/etc/resolv.conf

       nameserver DNS_SERVER_IP1

       nameserver DNS_SERVER_IP2

       nameserver DNS_SERVER_IP3

正解:FQDN-->IP        FQDN完全限定名称

                   # dig -t A  FQDN  解析测试

                   # host -t A  FQDN

             反解:IP-->FQDN

                   # dig -x  IP

                   # host -t PTR  IP

3.netstat

网络状态查看

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

打印网络连接,路由表,接口统计数据,伪装地址连接,组播成员关系

用法:

   显示网络连接:netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]]  [--program|-p]

       -t:tcp协议相关

       -u:udp协议相关

-w:raw socket相关(裸套接字,不经过传输层,应用层直接调用IP来实现数据传输)

       -l:处于监听状态

       -a:所有状态

       -n:以数字显示IP和端口,即不反解

       -e:扩展格式

       -p:显示相关进程及PID

       常用组合:

                  -tan,  -uan,           -tnl,  -unl

显示路由表:netstat  {--route|-r} [--numeric|-n]

       -r:显示内核路由表

       -r n:数字格式

            -e:扩展格式

            -v:详细格式

显示接口统计数据:netstat  {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]

# netstat -i 显示所有接口

# netstat -I IFACE

总结:ifcfg家族命令配置

       ifconfig/route/netstat

       ifup/ifdown

三、IP家族

1.IP

ip - show / manipulate routing, devices, policy routing and tunnels

用法:

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route }

link OBJECT:

ip link - network device configuration

ip link set  dev IFACE  up | down         激活或禁用指定接口

ip link show 显示

                                   [dev IFACE]指定接口

                                   [up]仅显示处于激活状态的接口

ip address - protocol address management

ip addr { add | del } IFADDR dev STRING 添加或移除地址

                                   [label LABEL]:添加地址时指明网卡别名

                                   [scope {global|link|host}]:指明作用域

                                         global:全局可用

                                         link:仅链接可用

                                         host:本机可用

                                   [broadcast ADDRESS]:指明广播地址

ip address show - look at protocol addresses

ip addr show

                                   [dev DEVICE]

                                   [label PATTERN]

                                   [primary and secondary]  主地址,辅地址

ip address flush - flush protocol addresses

ip addr flush     可以删除一类地址

                                   [dev DEVICE]

                                   [label PATTERN]

                                   [primary and secondary]

ip route - routing table management

ip route add

      添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

                                         TARGET:

                                               主机路由:IP

                                               网络路由:NETWORK/MASK

                                         via 下一跳

 

添加网关:ip route add defalt via GW dev IFACE

删除默认网关

                  ip route del TARGET 删除路由

                  ip route show

                  ip route flush

                                   [dev IFACE]

                                   [via PREFIX]

P.S. 对于Linux,地址属于内核

2.ss

网络状态查看工具,相当于netstat

格式:ss [OPTION]... [FILTER]

            选项:

                  -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:有限状态机

                             LISTENING:监听

                             ESTABLISHED:已建立的连接

                             FIN_WAIT_1

                             FIN_WAIT_2

                             SYN_SENT

                             SYN_RECV

                             CLOSED

                  EXPRESSION:

                             dport =

                             sport =

                             示例:’( dport = :ssh or sport = :ssh )’

            常用组合:

                       -tan, -tanl, -tanlp, -uan

四、修改配置文件

IP、MASK、GW、DNS相关配置文件

/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关的配置文件

/etc/sysconfig/network-scripts/route-IFACE

1. /etc/sysconfig/network-scripts/ifcfg-IFACE

DEVICE:此配置文件应用到的设备

      HWADDR对应的设备的MAC地址

      BOOTPROTO激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp

      NM_CONTROLLEDNM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”

      ONBOOT在系统引导时是否激活此设备

      TYPE接口类型;常见有的Ethernet, Bridge

      UUID设备的惟一标识

 

      IPADDR指明IP地址

      NETMASK子网掩码

      GATEWAY默认网关

      DNS1第一个DNS服务器指向

      DNS2第二个DNS服务器指向

 

      USERCTL普通用户是否可控制此设备

      PEERDNS如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

使立即生效的方式

      重启网络服务,相当于执行脚本/etc/rc.d/init.d/network restart

2. /etc/sysconfig/network-scripts/route-IFACE

      两种风格:

①TARGET via GW

②每三行定义一条路由

            ADDRESS#=TARGET

            NETMASK#=mask

            GATEWAY#=GW

3.给网卡配置多地址

①ifconfig:

                       ifconfig IFACE_ALIAS

②ip

                       ip addr add

③配置文件:

                       ifcfg-IFACE_ALIAS

                             DEVICE=IFACE_ALIAS

P.S. 网关别名的地址不能使用DHCP协议引导

5.Linux网络属性配置的tui(text user interface)

system-config-network-tui

      也可以使用setup找到

      P.S. 记得重启网络服务方能生效

6.配置当前主机的主机名

hostname   查看主机名

      hostname  HOSTNAME 设置主机名

            /etc/sysconfig/network

7.网络接口识别并命名相关的udev配置文件

      /etc/udev/rules.d/70-persistent-net.rules

            卸载网卡驱动:

                  modprobe -r e1000

            装载网卡驱动:

                  modprobe e1000

      P.S. 修改后记得调整相关配置文件

五、CentOS 7 网络配置

传统命名:以太网eth[0,1,2,...], wlan[0,1,2,...]

      可预测功能的命名机制

            udev支持多种不同的命名方案:

                  Firmware, 拓扑结构

1.网卡命名机制

      systemd对网络设备的命名方式:

      ① 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1

② 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;

③如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0

④如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56;

⑤上述均不可用时,则使用传统命名机制

上述命名机制中,有的需要biosdevname程序的参与

2.名称组成格式

      en:ethernet

      wl:wlan

      ww:wwan

            名称类型:

                  o<index>:集成设备的设备索引号

                  s<slot>:扩展槽的索引号

                  x<MAC>:基于MAC地址的命名

                  p<bus>s<slot>:enp2s1     根据PCI总线和插槽编号命名

3.网卡设备的命名过程

      第一步:

            udev, 辅助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules

第二步:

biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules

第三步:

通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description

                  e.g. ID_NET_NAME_ONBOARD

e.g. ID_NET_NAME_SLOT

e.g. ID_NET_NAME_PATH

4.回归传统命名方式

①编辑/etc/default/grub配置文件

            GRUB_CMDLINE_LINUX="net.ifnames

=0 rhgb quiet"

②为grub2生成其配置文件,使之生效

            grub2-mkconfig -o /etc/grub2.cfg

      ③修改/etc/sysconfig/network-scripts/目录里ifcfg-ens33等里面的DEVICE、NAME

      ④重命名ifcfg相关文件

⑤重启系统

5.地址配置工具:nmcli

      nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

            device - show and manage network interfaces

            connection - start, stop, and manage network connections

            P.S. connect类似于ip命令的addr,device类似于ip的link

      nmcli device

      nmcli d show

      nmcli connetion

      nmcli c

            如何修改IP地址等属性:

                        #nmcli connection modify IFACE [+|-]setting.property value

                              setting.property:

                                  ipv4.addresses

                                  ipv4.gateway

                                  ipv4.dns1

                                  ipv4.method

                                        manual,

命令:localetcl

6.网络接口配置tui工具:nmtui

7.主机名称配置工具:hostnamectl

      status

      set-hostname

      参考资料:http://www.redhat.com/hdocs

六、网络客户端工具

      lftp, ftp, lftpget, wget

1.lftp

文件传输客户端工具

      # lftp [-p port] [-u user[,password]] SERVER

            子命令:

                  get       下载一个文件到本地

                  mget    下载多个文件到本地

                  ls          查看远程服务器的文件列表

                  help     帮助文件

2. lftpget URL

3.ftp

4.wget

与lftp功能类似,但支持很多选项

      wget [option]... [URL]...

            -q静默模式

            -a:指明日志记录

            -c:续传

            -O:保存位置

            --limit-rates=:指定传输速率

            -i:

回顾

ip命令,ss命令;配置文件;CentOS 7

      ifcfg、ip、netstat、ss

      配置文件:

            /etc/sysconfig/network-scripts/

                  ifcfg-IFNAME

                  route-IFNAME

      CentOS 7:nmcli, nmtui

参考资料:

马哥随堂笔记

注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值