Linux网络

Stella981
• 阅读 659

Linux网络

tracert命令的格式为:tracert [-d][-h maximum_hops] [-j host-list][-w timeout] [-R][-S srcaddr] [-4][-6] target_name。

①、-d

表示不将地址解析成主机名。

②、-h maximum_hops

表示搜索目标的最大跃点数。

③、-j host-list

表示与主机列表一起的松散源路由(仅适用于IPv4)。

④、-w timeout

表示等待每个回复的超时间(以毫秒为单位)。

⑤、-R

表示跟踪往返行程路径(仅适用于IPv6)。

⑥、-S srcaddr

表示要使用的源地址(仅适用于IPv6)。

⑦、-4和-6

表示强制使用IPv4或者IPv6。

⑧、target_name

表示目标主机的名称或者IP地址。

在Linux中配置IP地址的方法有以下这么几种:

  • 图形界面配置IP地址(操作方式如Windows系统配置IP,但在实际生产中,我们并不建议在我们的服务器上安装Linux的图形界面,因为安装了图形界面将一定程度地影响了服务器的安全性和稳定性,因此,在这里就不对该方式进行详细的介绍了。)
  • ifconfig命令临时配置IP地址(临时配置IP地址,即当我们重启计算机或重启网络服务后,配置将失效)
  • setup工具永久配置IP地址(setup工具是由Red Hat开发的,因此在正常情况下,该工具只能用于Red Hat系列的Linux系统)(setup工具——红帽专有图形化工具setup设置IP地址)(使用setup命令设置完网络后需要使用service network restart重启网络)
  • 修改网络配置文件

ifconfig命令

  ifconfig命令可以查看与配置网络状态。命令结果如下:

eth0      Link encap:Ethernet  HWaddr 00:0C:29:11:30:39  
          inet addr:192.168.134.129  Bcast:192.168.134.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe11:3039/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19731 errors:0 dropped:0 overruns:0 frame:0
          TX packets:502 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1248492 (1.1 MiB)  TX bytes:58905 (57.5 KiB)

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:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
  • lo表示本地回环网卡的信息)

  使用ifconfig命令还可以临时设置某一网卡的IP地址和子网掩码。如:

ifconfig eth0 192.168.0.200 netmask 255.255.255.0

Linux网络配置文件

网卡信息文件

  查看第一张网卡的网卡信息:

vi /etc/sysconfig/network-scripts/ifcfg-eth0
  •   信息如下:

    DEVICE=eth0 HWADDR=00:0C:29:11:30:39 TYPE=Ethernet UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp

  •   更多信息说明,如下表格:

配置

说明

DEVICE=eth0

网卡设备名,eth0表示第一张网卡

BOOTPROTO=none

是否自动获取IP(none、static、dhcp),当值为dhcp时,只需配置上述例子中的那几项就可以联网

HWADDR=00:0C:29:11:30:39

MAC地址

NM_CONTROLLED=yes

是否可以由Network Manager图形管理工具托管

ONBOOT=yes

是否随网络服务启动当前网卡生效(在CentOS 6 以上的版本中ONBOOT是默认关闭的。)

TYPE=Ethernet

网络类型,这里为以太网

UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1

唯一识别码

IPADDR=192.168.0.200

IP地址

NETMASK=255.255.255.0

子网掩码

GATEWAY=192.168.0.1

网关

DNS1=202.106.0.20

DNS

IPV6INIT=no

IPv6是否启用,这里设置为不启用

USERCTL=no

是否允许非root用户控制此网卡,这里为不允许

说明:
1.自动获取IP的条件是:必须在局域网内存在DHCP服务器。
2.相同UUID网络配置的计算机会导致互相不能上网。

主机名文件

  查看主机名文件:

vi /etc/sysconfig/network
  •   内容如下:

    NETWORKING=yes HOSTNAME=localhost.localdomain

  其中:

  1. /etc/sysconfig/network该文件中NETWORKING=no时主机将无法连接网络。 \2. Windows下,在同一局域网内相同主机名之间是不能进行传递的。要求在局域网内是不能有相同主机名的主机的。而在Linux中局域网内是可以有相同主机名的主机的,如默认主机名:localhost.localdomain。 \3. 修改/etc/sysconfig/network文件中的主机名后需要重启计算机才能生效。使用hostname 主机名命令可以临时更改主机名后,重启计算机后将失效。通过hostname命令可以查看当前主机名。

DNS配置文件

  查看DNS配置文件:

vi /etc/resolv.conf
  •   内容如下:

    ; generated by /sbin/dhclient-script search localdomain nameserver 192.168.134.2

  其中最重要的是nameserver这一项,设置的是域名服务器的地址,多个域名服务器,则在后续添加空格继续补充域名服务器的地址,或者另起一行做类似的nameserver配置。

VMWare中Linux的网络参数配置

(以CentOS为例) \1. 配置Linux IP地址; \2. CentOS 6以上的系统修改修改网络配置以启动网卡vi /etc/sysconfig/network-scripts/ifcfg-eth0ONBOOT选项的值修改为yes,重启网络服务service network restart; \3. 对于网络配置文件中UUID出现相同的情况,需要修改UUID的值,修改方式如下:

1. `vi /etc/sysconfig/network-scripts/ifcfg-eth0`,删除MAC地址行
2. `rm -rf /etc/udev/rules.d/70-persistent-net.rules`,删除网卡和MAC地址绑定文件
3. 重启当前系统
  • 4.设置VMWare虚拟机的网络连接方式,选择桥接模式(可不勾选“复制物理网络连接状态”这一选项)(其中桥接模式,允许虚拟机访问外网,同时可以与局域网内的其他计算机进行通讯(包括本机);NAT模式,允许虚拟机访问外网,能与本机进行数据通讯;Host Only模式,只能同本机进行通讯);

\5. 修改桥接的网卡,在“虚拟网络编辑器”窗口中选择VMnet0,修改桥接模式下桥接的网卡,这里选择可以上网的网卡。

VMWare桥接模式下配置静态IP

修改网卡配置文件,如下:

DEVICE=eth0
HWADDR=00:0C:29:FC:8D:E6
TYPE=Ethernet
#UUID=343b502d-2249-4e33-9187-9abc285b9292
UUID=31b6504c-7ddd-4b74-a51e-46cd34ed182d
ONBOOT=yes
NM_CONTROLLED=yes

#BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=11.10.1.192
NETMASK=255.255.255.0
GATEWAY=10.8.8.1
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV6INIT=no
USERCTL=no

重启网卡:

service network restart

这里,ping外网地址会失败。使用route命令发现,默认网关没有设置成功。原因不明(DHCP模式下,动态获取IP,默认网关10.8.8.1设置成功,可以正常上网。) 为配置静态IP的情况下,解决默认网关未设置成功的问题,使用route命令临时修改默认网关: 临时修改默认网关(linux中配置网络出现 SIOCADDRT: No such process):

sudo route add 10.8.8.1/32 dev eth0
sudo route add default gw 10.8.8.1

Linux网络命令

网络环境操作

  1. ifconfig命令   ifconfig:查看网络状态(能查看IP地址和子网掩码,但是不能查看网关和DNS地址),还可以临时设置某一网卡的IP地址和子网掩码。

  2. 关闭与启动网卡   ifdown 网卡设备名:禁用该网卡设备。   ifup 网卡设备名:启用该网卡设备。

  3. 查询网络状态   netstat 选项(可以用于查看当前计算机开放的端口,从而判断当前计算机启动了哪些服务) 选项:

    -t:列出TCP协议端口 -u:列出UPD协议端口 -n:不使用域名和服务名,而使用IP地址和端口号 -l:仅列出在监听状态网络服务 -a:列出所有的网络连接 -r:列出路由列表,功能和route命令一只 常用组合:-tuln、-an、-rn 查看某一状态下的网络连接情况,如:netstat -an | grep ESTABLISHED 查看某一网络状态下的行数(查看有多少台计算机连接到当前服务器),如:netstat -an | grep ESTABLISHED | wc -l netstat -rn 和 route -n 命令功能一样,结果一致。通过这样的命令查看当前计算机的网关地址。

  • (注:Linux中如何中止远程连接?使用logout命令。在Windows中则操作菜单栏点击注销。)
  1. route命令   route -n:查看路由列表(可以看到当前计算机的网关)。   route add default gw 192.168.1.1:临时设定网关。   route del default gw 192.168.1.1:删除设定的网关。 \5. 域名解析命令   nslookup [主机名或IP]:进行域名或IP地址的解析。

    nslookup

    server

    查看本机DNS服务器

    exit

    退出

网络测试命令

  1. ping命令   ping [选项] ip或域名:探测指定IP或域名的网络状况。

    选项: -c 次数:指定ping发送包的次数

  • 1
  • 2

  2. telnet命令   telnet [域名或IP] [端口]:远程管理与端口探测命令。(telnet的远程连接是极不安全的,它是明文传递数据,并未将数据加密。所以我们并不建议使用telnet命令进行远程管理,但是我们可以通过该命令探测某个计算机中是否开放了某一端口。如:telnet 192.168.0.1 80)   3. traceroute命令   traceroute [选项] IP或域名:路由跟踪,查看访问某一IP或域名时经过的路由(路由路径)。(该命令可能需要单独安装)

选项:
-n 使用IP而不使用域名显示
  •   4. wget命令

  wget 下载地址:下载命令。   5. tcpdump命令   tcpdump命令:用于监听某一网卡下某一服务的数据包接收情况(截获数据包-抓包)。如:tcpdump -i eth0 -nnX port 21

选项:
-i 指定监听的网卡
-nn 将数据包中的域名与服务转为IP和端口显示
-X 以十六进制和ASCII码显示数据包内容
port 指定监听的端口

下面我们逐步介绍几个常用的命令:

1、Ping命令。

​ 当您的机器不能访问Internet,首先确认是否是本地局域网的故障。假定局域网的代理服务器IP地址为202.168.0.1,您可以使用ping 202.168.0.1命令查看本机是否和代理服务器联通。此外可以测试本机的网卡是否正常工作,使用 ping 127.0.0.1命令。一般返回ping的信息就表示本地到该主机的网络线路连通。

​ 但是很多服务器为了防止攻击,一般会关闭对ping的响应。所以ping一般作为测试连通性使用。ping命令后,会接收到对方发送的回馈信息,其中记录着对方的IP地址和TTL。TTL是该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。例如IP包在服务器中发送前设置的TTL是64,你使用ping命令后,得到服务器反馈的信息,其中的TTL为56,说明途中一共经过了8道路由器的转发,每经过一个路由,TTL减1。

Linux网络 Linux网络

2、Tracert

​ Tracert命令用来显示数据包到达目标主机所经过的路径(路由器),并显示到达每个节点(路由器)的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。 Tracert 先发送 TTL 为 1 的回应数据包,当数据包上的 TTL在路由器收到后TTL自动减1 ,一旦某个服务器将TTL减1后,等于了0,路由器应该将“ICMP Time Exceeded”的消息发回源计算机,源计算机就根据收到的信息判断达到的路由器和所用时间。下次再次发送数据包时,将TTL递增 1,继续上述测试,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL过期的数据包,这在 Tracert 实用程序中看不到,我们会显示请求超时的请求信息。下图所示,我们测试到新浪的路经过了8道路由,同时根据上图测试ping 新浪时候,TTL=56,说明新浪的TTL初始设置为64,经过8道路由后到达我们客户机,还剩下64-8 = 56。下图中请求超时的反馈信息是因为路由器对ping命令做了处理,关闭了ping的响应,所以我们收不到发给他的反馈信息。

Linux网络 Linux网络

3、pathping

​ pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能与这两个工具所不提供的其他信息结合起来,综合了二者的功能。pathping会先显示中间的通过的路由器(类似tracert命令得到的信息),然后对每个中间路由器(节点)发送一定数量的ping包,通过统计他们对ping包响应的数据包来分析通信质量。上面也提到了,有的路由器对ping关闭了响应,所以有的节点的丢包率会达到100%,所以这种一般就是关闭了ping回复。你可以自己ping试一下。还有,对ping包丢弃程度只是节点本身对ping的处理,并不一定影响他的通信,你可以看到,关闭ping命令节点的下一个节点返回到数据是正常的,说明回复的包都成功发送回来。总之,pathping 命令在一段时间内将数据包发送到将到达最终目标的路径上的每个路由器,然后根据从每个跃点返回的数据包计算结果。由于命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能导致网络问题的路由器或链接。下图所示,我们看到,达到第二个就终止了,因为第二道节点(路由器),不支持ping,然后,程序就终止不在继续往下探测了。

Linux网络 Linux网络

4、 nslookup

​ Nslookup命令用于解析域名,一般用来检测本机的DNS设置是否配置正确。如: nslookup 网站域名,即可解析出网站的IP地址。如图,可以看出解析www.163.com的时候,可以解析出它所有的IP地址,而如果网路出现异常或者无法收到服务器发送来的信息时候,会出现下面第二张图片的显示。服务器和Address代表是解析这些IP地址和域名的DNS服务器信息。比如我使用的DNS是jtjndc007.home.langchao.com, DNS服务器地址是10.100.1.11.

Linux网络

Linux网络 以上就是良许教程网为各位朋友分享的Linux相关知识。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
2年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这