2018-11-19 Ubuntu linux网络设置排错

网络相关常用命令 - 基于Ubuntu 16.04以上版本

ifconfig   — 查看网卡信息

lspci | grep -I eth  — 查看网卡硬件

Ethtool <网卡名>  —查看网卡详细信息

sudo ip link ls <网卡名>  —查看网卡状态

sudo ip link set <网卡名> up  —启动网卡

iptables -L -nv   —查看防火墙设置

service iptables status  —查看防火墙状态

Iptables -F  —关闭防火墙

ufw status  —ufw防火墙状态

ufw disable —关闭防火墙

/etc/init.d/networking restart  —重启网络

service networking restart   —重启网络

网卡配置文件: /etc/network/interfaces

DNS配置文件: /etc/resolv.conf  或者 /etc/resolvconf/resolv.conf.d/head 文件

ufw防火墙配置文件: /etc/ufw/before.rules 

如果网络Ping不通,从硬件到软件依次检查:

1、使用 ifconfg可以看到目前的卡配置,物理网卡,虚拟网卡等信息,

2、使用lspci | grep -I eth, 如下,看到我的服务器有6块网卡,4块GE和2块10G

root@hs01:~#  lspci | grep -i eth

02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

02:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

03:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)

05:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)

用ehtool <网卡名>命令来显示网卡详细信息:

root@hs01:~# ethtool eno1

Settings for eno1:

    Supported ports: [ TP ]

    Supported link modes:   10baseT/Half 10baseT/Full

                            100baseT/Half 100baseT/Full

                            1000baseT/Half 1000baseT/Full

    Supported pause frame use: No

    Supports auto-negotiation: Yes

    Advertised link modes:  10baseT/Half 10baseT/Full

                            100baseT/Half 100baseT/Full

                            1000baseT/Half 1000baseT/Full

    Advertised pause frame use: Symmetric

    Advertised auto-negotiation: Yes

    Link partner advertised link modes:  10baseT/Half 10baseT/Full

                                         100baseT/Half 100baseT/Full

                                         1000baseT/Half 1000baseT/Full

    Link partner advertised pause frame use: No

    Link partner advertised auto-negotiation: Yes

    Speed: 1000Mb/s

    Duplex: Full

    Port: Twisted Pair

    PHYAD: 1

    Transceiver: internal

    Auto-negotiation: on

    MDI-X: on

    Supports Wake-on: g

    Wake-on: d

    Current message level: 0x000000ff (255)

                   drv probe link timer ifdown ifup rx_err tx_err

    Link detected: yes

root@hs01:~#

3、检查网卡是否up (这里我的网卡是eno1,你的可能是eth0,eth1,或者其他)

root@hs01:~# sudo ip link ls eno1
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state **UP** mode DEFAULT group default qlen 1000
    link/ether d0:94:66:1e:e4:84 brd ff:ff:ff:ff:ff:ff

如果显示状态是“DOWN”,可以尝试使用

sudo ip link set eno0 up 命令来启动

4、检查网卡配置文件

IP地址,网关,DNS这些在配置文件里,检查每项数据是否正确,子网掩码,网关等

下面范例配置了主接口和子接口地址:

root@hs01:~# vim /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto br0 br0:1

iface br0 inet **static**

        address 192.168.1.42

        netmask 255.255.255.252

        network 192.168.1.40

        broadcast 192.168.1.43

        gateway 192.168.1.41

        # dns-* options are implemented by the resolvconf package, if installed

        dns-nameservers 8.8.8.8

#       dns-search thn.lon

        bridge_ports enp5s0f0

        bridge_stp off

        bridge_fd 0

        bridge_maxwait 0

iface br0:1 inet static

        address 192.168.1.65

        network 192.168.1.64

        netmask 192.168.1.240

这里配置的是静态IP地址,配完后重启网络,Ping自己地址看看是否能通,再Ping网关检查是否能通。

如果配置的是DHCP,要用ifconfig看是否获取到IP地址,如果获取不到,可能是路由或者链路问题,也可能是ICMP禁止ping。如果DHCP服务器能Ping通却获取不到地址,需要联系DHCP服务器管理员,或者找网关查下路由器DHCP relay的配置。

这是如果可以的话,找网关要一个测试的静态地址,看静态地址能不能通,以排除和定位DHCP服务器问题。

5、下一步,如过Ping网关能通,Ping不通DNS服务器地址,那么ping一下网内其他机器地址,用排除法确认是否DNS服务器本身的问题。也可以用traceroute <服务器地址>或 mtr -n <服务器地址>来看下路由对不对。

如果IP地址没错,Ping网关也能通,ping DNS服务器也能通,就是不解析,那我们要查看DNS服务配置文件。

先看下dns服务器配置信息,下面是我机器上的正常输出:

root@hs01:~# nslookup 8.8.8.8

Server:        8.8.8.8

Address:    8.8.8.8#53

Non-authoritative answer:

8.8.8.8.in-addr.arpa    name = [google-public-dns-a.google.com](http://google-public-dns-a.google.com).

Authoritative answers can be found from:

root@hs01:~#

检查配置文件

root@hs01:~# cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 8.8.8.8

root@hs01:~#

如果没有nameserver配置,没有的话补上

Vim /etc/resolv.conf

重启网络。但如果改完后重启网络发现这个文件里面刚才写入的DNS服务器地址不见了,去改 /etc/resolvconf/resolv.conf.d/head ,增加nameserver x.x.x.x语句,再重启网络,一般就好了。

6、外网Ping自己不通,检查防火墙配置,检查防火墙命令要用sudo命令或root用户

iptables -L 显示现有防火墙策略,查看是否允许ICMP,可以尝试iptables -F 关闭防火墙再试试通不通。

如果没有启用iptables,而是用了ufw,则使用ufw status查看状态,关闭ufw使用 sudo ufw disable命令

root@hs01:~# ufw status

Status: active

To                         Action      From

--                         ------      ----

443                        ALLOW       Anywhere

22                         ALLOW       Anywhere

5901                       ALLOW       Anywhere

443 (v6)                   ALLOW       Anywhere (v6)

22 (v6)                    ALLOW       Anywhere (v6)

5901 (v6)                  ALLOW       Anywhere (v6)

编辑ufw规则文件

sudo vim /etc/ufw/before.rules

其中

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT  表示允许Ping

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP      表示不允许ping
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 0 01、网络管理的五大功能(包括每项功能的具体情况) 1.配置管理:ISO定义的管理功能域中,配置管理包括视图管...
    哈熝少主阅读 3,582评论 1 20
  • 文章首发于个人blog欢迎指正补充,可联系lionsom_lin@qq.com原文地址:《网络是怎样连接的》阅读整...
    Lucus_Linx阅读 14,414评论 6 31
  • 博主最近在复习HTTP,之前用书主要是《计算机网络》谢希仁版本,最近结合网上博客,进行复习和提纲式的总结。 一、概...
    stoneyang94阅读 4,254评论 1 8
  • 1、如何将本来是同一网段的两台主机改成不同网段后使其通讯 此时相互是ping不通的在centos7中增加一条路由记...
    阿丧小威阅读 587评论 0 0
  • 1、在Management Studio中,点击窗口中“新建查询”的图标,进入SQL脚本编写窗口。 2、选择当前S...
    xhbj阅读 3,316评论 0 0

友情链接更多精彩内容