Linux网络设置

Posted 糖醋·小排顾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络设置相关的知识,希望对你有一定的参考价值。

目录

一:查看网络配置

1.1 ifconfig——查看网络接口信息

1.1.1查看所有活动的网络接口信息

1.1.2查看指定网络接口信息

1.2 ifconfig——设置网络接口参数

1.2.1设置网络接口的ip地址,子网掩码

1.2.2禁用或者重新激活网卡

1.2.3设置虚拟网络接口

1.3 hostname——查看主机名称

1.3.1临时修改主机名称

1.3.2永久修改主机名称

1.3.3查看本主机ip

1.4 route——查看路由表条目

1.4.1查看或设置主机中路由表信息

1.4.2添加到指定网段的路由记录

1.4.3删除到指定网段的路由记录

1.4.4向路由表中添加默认网关记录

1.4.5删除路由表中默认的网关记录

1.5 netstat——查看网络连接情况​​​​​​​

1.6 ss——获取socket统计信息

二:测试网络连接

2.1 ping——测试网络连接

2.2 traceroute——跟踪数据包

2.3 nslookup——域名解析

2.4 dig——解析详细过程DNS信息收集 

三: 本地主机映射文件

四:设置网络参数的方式

4.1临时配置——使用命令调整网络参数

4.2固定设置——通过配置文件修改网络参数

五:总结

引言:linux网络设置是linux服务的基础,要先打好基础,了解其网络配置,网络连接,如何设置网络地址参数才能建立好基础的运行服务,所以学习一些网络的基本配置要求


一:查看网络配置

1.1 ifconfig——查看网络接口信息

1.1.1查看所有活动的网络接口信息

执行ifconfig命令

ifconfig -a显示所有活动及非活动的连接

1.1.2查看指定网络接口信息

ifconfig 网络接口

ifconfig 显示已启用的网络接口,不包括禁用的设备

ens33:第一块以太网卡的名称。"ens33"中的"en"是""EtherNet”"的缩写,表示网卡类型为以太网,"s"表示热插拔插槽上的设备(hot-plugslot.·数字“33”表示插槽编号。lor“回环"网络接口,"1o"是"1oopback"的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是“127.0.0.1"。回环地址通常仅用于对本机的网络测试。

inet 192.168.245.211               ip地址

netmask 255.255.255.o              子网掩码

broadcast 192.168.245.255          广播地址

ether 00 : 0c:29:f4:bf:17          mac地址

(1)第一行:以太网卡的名字不是常见的eth0,变成了ens33。其中en代表以太网卡

ens33代表PcI接口的物理位置为(0,3),其中横座标代表bus,纵座标代表slotUP:代表此网络接口为启用状态(down为关闭状态)

RUNNING:代表网卡设备己连接 

MULTICAST:表示支持组播

MTU:为数据包最大传输单元

(2)第二行:网卡的IP地址、子网掩码、广播地址

(3)第三行:IP v6地址

(4)第四行:Ethernet(以太网)表示连接类型:ether:表示为网卡的MAC地址

(5)第五行:接受数据包个数、大小统计信息

(6)第六行:异常接受包的个数、如丢包量、错误等

(7)第七行:发送数据包个数、大小统计信息

(8)第八行:发送包的个数、如丢包量、错误等

lo是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。

1.2 ifconfig——设置网络接口参数

1.2.1设置网络接口的ip地址,子网掩码

ifconfig 网络接口 ip地址 【netmask 子网掩码】

ifconfig 网络接口 ip地址  【/子网掩码长度】

当不指定子网掩码时,将使用ip地址所在分类的默认子网掩码

1.2.2禁用或者重新激活网卡

ifconfig 网络接口 up(开启)

ifconfig 网络接口 down(关闭)

ifdown 【彻底禁用网卡,临时网卡地址不存在】

ifup【激活网卡】

1.2.3设置虚拟网络接口

ifconfig 网络接口:序号 ip地址

1.3 hostname——查看主机名称

1.3.1临时修改主机名称

hostname   名称    【临时的只在第二个窗口生效】

1.3.2永久修改主机名称

hostnamectl  set-hostname  名称

或者使用vim
vim  /etc/hostname

1.3.3查看本主机ip

hostname -i

1.4 route——查看路由表条目

路由表:Linux操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。直接执行“route“命令可以查看当前主机中的路由表信息

当目标网段为"default"时,表示此行是默认网关记录:当下一跳为""gateway"时,表示目标网段是与本机直接相连的。但是,直接执行"route"命令无法直接看出默认网关地址

1.4.1查看或设置主机中路由表信息

route 【-n】

destination 对应目标网段的地址

gateway 对应下一跳路由器地址

iface 对应发送数据的网络接口

1.4.2添加到指定网段的路由记录

route add -net 网段地址 gw ip地址

1.4.3删除到指定网段的路由记录

route del -net 网段地址

1.4.4向路由表中添加默认网关记录

route add default gw ip地址

1.4.5删除路由表中默认的网关记录

route del default gw ip地址

1.5 netstat——查看网络连接情况

查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具

-n:以数字的形式显示相关的主机地址、端口等信息

-r:显示路由表信息.

-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)

-l:显示处于监听Listenin状态的网络连接及端口信息

-t:查看TCP (Transmission Control Protocol,传输控制协议)相关的信息

-u:显示 UDP (User Datagram Protocol,用户数据报协议〉协议相关的信息

-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

用法:通常使用"-anpt"组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息心配合管道符grep过滤出特定的记录

1.6 ss——获取socket统计信息

ss 命令:也可以查看网络连接情况,主要用于获取 socket统计信息,它可以显示和 netstat命令类似的输出内容。但ss 的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比 netstat更快速更高效

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。ss快的秘诀在于,它利用到了TCP协议栈中t.cp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效ss命令是Linux centos 7中iproute软件包的一部分,默认已经安装

为什么ss比netstart快?

netstat是遍历/proc下面每个PID日录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netatat少很多

选项:

-h:help 通过该选项获取更多的使用帮助

-v:version 显示软件的版本号

-t:tcp 显示TCP协议的sockets

-u:udp 显示UDP协议的sockets

-n:numeric 不解析服务的名称,如“22”端口不会显示成“ssh” 

-l:listening 只显示处于监听状态的端口

-p:processes 显示监听端口的进程

-a:all 对TCP协议来说,既包含监听的端口,也包含建立的连接

-r:resolve 把ip解释为域名,把端口号解释为协议名称

ss:只有在访问时才能查看到端口 

查看并发连接数ss和netstat对比

ss -o state ‘established’ | grep ssh

-o选项可用于显示计时器信息,该信息向我们展示了诸如重新传输计时器值,已经发生的重新传输的数量以及已发送的keepalive探测的数量

ss -t state established 【established,syn-sent,syn-recv,fin-wait-1,fin-wait-2,time-wait,closed,closed-wait,last-ack监听和关闭等状态】 

端口小于500的都显示


二:测试网络连接

2.1 ping——测试网络连接

ping命令  测试网络连通性

ping 【选项】目标主机

-c:指定ping的次数

ping -c 5 192.168.137.15  指定ping5次

​​​​​​​

-i:秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次

ping -c 5 -i 0.5 192.168.137.15

-w:表示ping的超时时间

ping -w 5 www.baidu.com    只ping5秒,5秒后结束

若看到"Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭

若看到*Metwork is unreachable"的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到日标主机所在的网络

当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到“Request timeout“的反馈结果

2.2 traceroute——跟踪数据包

测试从当前主机到目的主机之间经过的网络节点

traceroute 目标主机地址

traceroute命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接 状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”

2.3 nslookup——域名解析

测试DNS域名解析

nslookup 目标主机地址 【DNS服务器地址】

域名解析的配置文件:保存本机需要使用的DNS服务器的ip地址

第一种方法:进入 vim /etc/resolv.conf 将

修改为

设置默认的搜索地 当访问主机“localhost”时就相当于访问“localhost.localdomain” 

一行一个DNS,最多配置三个DNS

第二种方法:vim /etc/sysconfig/network-scripts/ifcfg-ens33

建议关闭NetworkManager服务,否则有时候启动network会报错

2.4 dig——解析详细过程DNS信息收集 


三: 本地主机映射文件

etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS 服务器查询

若在/etc/hosts 文件中添加“192.168.137.15 www.lguxin.com”的映射记录,则当访www.baidu.com 时,将会直接向 IP 地址 192.168.137.15www.guxin.com 发送 Web 请求

hosts文件和DNS服务器的比较

默认情况下,系统首先从hosts文件查找解析记录

hosts文件只对当前的主机有效

hosts文件可减少DNS查询过程,从而加快访问速度


四:设置网络参数的方式

4.1临时配置——使用命令调整网络参数

简单,快速,可直接修改运行中的网络参数

—般只适合在调试网络的过程中使用

在系统重启后,所做的修改将会失效

4.2固定设置——通过配置文件修改网络参数

修改各项的网络参数配置文件

适合对服务器设置固定参数时使用

网络服务需重启以后才能生效


五:总结

在生产环境中我们需要查看我们的网络配置对有问题的地方进行相关的修改,同时我们需要进行相关的配置;我们也需要进行网络连接的测试,对于不同的需求进行不同的测试;我们有俩种网络地址参数的设置,一种是临时配置:简单、快速,可直接修改运行中的网络参数—般只适合在调试网络的过程中使用在系统重启后,所做的修改将会失效;还有一种是永久配置:适合对服务器设置固定参数时使用。

Linux基础网络设置

### 一、Linux基础网络设置
####  1、查看和测试网络

##### 1)查看网络配置
- **ifconfig命令**
```
ifconfig  //查看活动的网络接口信息

```
**网卡知识介绍:**

eth0、lo:网络接口名称

Hwaddr:网卡MAC地址

inet addr:网络接口的IP地址

Bcast:网络接口所在网络的广播地址

Mask:网络接口的子网掩码


```
[[email protected] ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:B2:44:8F  
          inet addr:192.168.1.125  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb2:448f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:132226 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23844 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12420847 (11.8 MiB)  TX bytes:14671857 (13.9 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:104 (104.0 b)  TX bytes:104 (104.0 b)


```
   



查看所有网卡的接口信息:

    ifconfig  -a
    
查看某一块网卡的接口信息:

    ifconfig  eth0    
- **ip/ethtool命令**

```
ip link  //查看所有网络接口的数据链路层信息
ip link show eth0  //查看指定网卡的数据链路层信息
    
```
```
ip address  //查看所有网络接口的网络层信息
ip address show eth0  //查看指定网卡的网络层信息
```
```
ethtool eth0  //查看指定网络接口的速率、模式等物理属性信息
```

```
[[email protected] ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b2:44:8f brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:b2:44:8f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.125/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::20c:29ff:feb2:448f/64 scope link
       valid_lft forever preferred_lft forever
```
- **hostname/route命令**

```
[[email protected] ~]# hostname  //查看主机名称
test2
```
```
[[email protected] ~]# route   //查看路由表
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         localhost       0.0.0.0         UG    0      0        0 eth0
[[email protected] ~]# route -n   //查看路由表,全部以IP地址显示
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
```
- **netstat命令**

查看网络连接情况 ==(如端口监听)==

选项 | 作用
---|---
-a | 显示当前主机中所有活动的网络连接信息
-n | 以数字的形式显示相关信息
-r | 显示路由表信息
-t | 显示TCP协议相关的信息
-u | 显示UDP协议相关的信息
-l | 显示正在监听中的服务信息
-p | 显示与网络连接相关联的进程号、进程名称信息(需要root权限)

通常使用“-anpt”、“utpln”组合选项


```
[[email protected] ~]# netstat -anpt |grep ssh
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2122/sshd           
tcp        0     64 192.168.1.125:22            192.168.1.109:50992         ESTABLISHED 47349/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      2122/sshd           
[[email protected] ~]# netstat -utpln |grep ssh
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2122/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      2122/sshd           
```


##### 2)测试网络连接

- **ping/traceroute/nslookup命令**

```
ping  //测试网络连通性
-c  //指定数据包数量
```
```
traceroute  //跟踪数据包的路由途径
```

```
[[email protected] ~]# traceroute 192.168.1.101
traceroute to 192.168.1.101 (192.168.1.101), 30 hops max, 60 byte packets
 1  localhost (192.168.1.125)  3006.931 ms !H  3006.930 ms !H  3006.927 ms !H

```

```
nslookup  //测试DNS域名解析
```

```
[[email protected] ~]# nslookup www.baidu.com   //直接解析某个域名
Server:        202.106.195.68      //解析的服务器
Address:    202.106.195.68#53   //解析服务的端口

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 61.135.169.121
Name:    www.a.shifen.com
Address: 61.135.169.125

[[email protected] ~]# nslookup www.baidu.com 8.8.8.8  //也可以指定某个服务器进行解析
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 61.135.169.121
Name:    www.a.shifen.com
Address: 61.135.169.125

```




####  2、设置网络地址参数

##### 1)使用网络配置命令

Linux环境中,手动修改网络配置的两种基本方法:

- 临时配置:

通过命令直接修改,修改后立即可以生效,一般用于调试网络时,重启服务或主机将会失效;

```
ifconfig  eth0  192.168.1.10  netmask 255.255.255.0  gateway 192.168.1.1
```

```
ifconfig eth0 up    //启用eth0网络接口
ifconfig eth0 down  //禁用eth0网络接口
```

```
ifconifg  eth0:0 10.10.10.10    //为网卡绑定虚拟接口
```


- 固定配置:

通过修改配置文件里的参数来实现,需要重启服务之后才能生效; “永久配置”

```
vi   /etc/sysconfig/network-scripts/ifcfg-eth0
```

使用hostname命令修改主机名:


```
hostname  deeption      //临时设置
```

使用route命令添加、删除静态路由:

- 指定网段的路由:

```
route add -net 192.168.2.0/24  gw X.X.X.X   //添加
route del -net 192.168.2.0/24               //删除
```

- 默认路由(网关):

```
route add default gw X.X.X.X                //添加
route del default gw X.X.X.X                //删除
route | grep default                        //查看默认路由
```


##### 2)修改网络配置文件

网络接口的配置文件默认位于目录“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-XXX”,其中“XXX”就是网络接口的名称,如eth0、lo

- 永久设置网络接口配置:
```
vi   /etc/sysconfig/network-scripts/ifcfg-eth0
```

```
//网络接口配置文件内容:
DEVICE=eth0     //网络接口设备名称
TYPE=Ethernet
UUID=adf9d271-d77d-4b4c-a4fd-58eb0c85d663
ONBOOT=yes      //设置开机是否激活
NM_CONTROLLED=no     //一般设置为no,表示系统网络管理工具不能控制这块网卡
BOOTPROTO=static     //设置静态IP地址或者dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:B2:44:8F
LAST_CONNECT=1462590913
IPADDR=192.168.1.125    //设置IP地址
NETMASK=255.255.255.0   //设置子网掩码
GATEWAY=192.168.1.1     //设置默认网关
```
- 重启网络服务的命令:

```
service network restart     //会重启所有网络接口
```
- 重启某个网络接口命令:

```
ifdown eth0
ifup eth0  
```
备注:网卡重启后临时配置的子接口就会消失

- 永久设置主机名:

```
vi  /etc/sysconfig/network
```

```
//主机名配置文件内容:
NETWORKING=yes
HOSTNAME=test2

```
- 永久设置域名解析服务器:
```
vi  /etc/resolv.conf
```
```
//域名解析配置文件内容:
nameserver 202.106.195.68   //DNS服务器,解析顺序由上到下依次使用
nameserver 202.106.46.151
```
- 本地主机映射文件(hosts):

> /etc/hosts文件记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机信息。

> 当访问一个未知的域名时,先查找hosts文件,若没有再去询问DNS服务器。

```
[[email protected] ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.local
::1         localhost localhost.localdomain localhost6 localhost6.loca
//IP地址   域名   域名的别名   域名的别名
```



以上就是本次整理的最简单网络知识╮( ̄▽ ̄)╭



![](http://i.imgur.com/4VbBTLB.gif)







本文出自 “11544947” 博客,请务必保留此出处http://11554947.blog.51cto.com/11544947/1793780

以上是关于Linux网络设置的主要内容,如果未能解决你的问题,请参考以下文章

云计算 --- 用户权限管理网络配置ssh远程访问(linux系统)

云计算 --- 用户权限管理网络配置ssh远程访问(linux系统)

零基础学习云计算及大数据DBA集群架构师Linux系统网络服务及安全配置2015年1月8日周五

Linux基础网络设置和Samba文件共享服务

云计算学习该怎么入门?

Linux云计算就业后是做啥类型的工作