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基础网络设置的主要内容,如果未能解决你的问题,请参考以下文章

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础

201555332盛照宗—网络对抗实验1—逆向与bof基础

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装