Linux基础网络设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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基础网络设置的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装