美文网首页
Linux网络配置相关命令

Linux网络配置相关命令

作者: epiiplus1equal0 | 来源:发表于2019-01-23 23:08 被阅读0次

1. 设置网络参数的命令

1. 1 手动/自动配置IP参数与启动/关闭网络接口: ifconfig, ifup, ifdown

1. ifconfig

直接输入会列出当前已经被启动的网卡

ifconfig {interface} {up|down}
ifconfig interface {options}
    optiopns:
        up, down
        mtu: 可以设置不同的MTU值, 如mtu1500
        netmask: 子网掩码
        broadcast: 广播地址
        
#实例:
ifconfig eth0 192.168.1.200 netmask 255.255.255.0 mtu 1800
ifconfig eth0:0 192.168.2.200 netmask 255.255.255.0 # 在该实体网卡上, 
# 再仿真出一个网络接口, 就是在一张网卡上设置多个IP
ifconfig eth0:0 down # 如果将eth0:0关闭, 对原有eth0是否有影响? 
# ==> 无影响
service network restart # 重启网络, 使手动设置的网络参数全部失效

#要启动某个网络接口, 但又不让它具有IP参数时, 
# 直接使用ifconfig eth0 up
# ==> 这个操作在采用无线网卡的环境中被经常使用

2. ifup, ifdown

这两个程序其实script, 它会直接到/etc/sysconfig/network-scripts目录查找对应的配置文件, 如果以ifconfig eth的方式来设置或者是修改了网络接口后, 那就无法再以ifdown eth0的方式来关闭

1.2 修改路由: route

只要有网络接口, 该接口就会产生一个路由

route [-nee]
route [add|del] [-net|-host] [网络或主机] netmask [mask] [gw|dev]
    -n: show numerical addresses instead of trying to determine symbolic host names
    -ee: 显示更详细的信息
    -net: 网络
    -host: 连接到单部主机的路由
    netmask: 子网掩码
    gw: 后接IP
    dev: 后接设备, 如eth0等
    
#实例:
route add -net 192.168.160.0 netmask 255.255.255.0 gw 192.168.160.1 dev eth0
route add default gw 192.168.160.250
# 你只需要记得, 当出现"SIOCADDRT: Network is unreachale"这个错误时, 
# 肯定是由于gw后面接的IP无法直接与你的网络沟通(Gateway并不在你的网络内)

1.3 网络参数的综合命令那个: IP

ip [option] [动作] [命令]
option:
    -s: statistics, 例如接收数据包的总数等
操作:
    link: 与设备(device)相关的设置, 包括MTU, MAC地址等
    addr/address: 关于额外的IP协议, 例如多IP的实现等
    route: 与路由有关的相关设置

1. 关于接口设备(device)的相关设置: ip link

ip [-s] link show #单纯查看该设备的相关信息
ip link set [device] [动作与参数]
show: 仅显示这个设备的相关属性, 如果加上-s会显示更多的统计数据
set: 开始设置项目, device指的是eth0, eth1等设备名称
动作与参数:
    up|down: 启动或关闭某个接口
    address: 如果这个设备可以修改MAC地址的话, 可以用这个参数修改
    name: 给与这个设备一个特殊的名字
    mtu: 最大传输单元
# 修改网卡名称, MAC地址等信息的话, 就只能使用ip了, 
# 不过设定前可能需要先关闭该网卡, 否则不会成功
ip link set eth0 down
ip link set eth0 name jax_eth0 address aa:aa:aa:aa:aa:aa mtu 1800 
# 测试完之后记得改回来!!!

2. 关于额外IP的相关设定: ip address

ip [-s] address show
ip address [add|del] [IP参数] [dev 设备名] [相关参数]
相关参数主要如下:
    broadcast: 设置广播地址, 如果设置值是"+"表示"让系统自动计算"
    label: 这个设备的名称, 例如 eth0:0
    scope: 这个选项的参数, 通常有以下几类:
        global: 允许来自所有来源的连接, 默认为global
        site: 仅支持IPv6, 仅允许本主机的连接
        link: 仅允许本设备自我连接
        host: 仅允许本主机内部的连接
ip address add 192.168.170.200/24 broadcast + dev eth0 label eth0:0 scope global
ip address del 192.168.170.200/24 dev eth0

3. 关于路由的相关设定: ip route

ip [-s] route show
ip route [add|del] [IP或网络号] [via gateway] [dev 设备]
    add|del:
        via: 从那个网关出去, 不一定需要
        dev: 由那个设备连出去, 必需
        mtu: 可设定额外的MTU数值
ip route add 192.168.5.0/24 dev eth0
ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0
# 仔细看, 因为有192.168.5.100的路由在, 
# 才可以将192.168.10.0/24的路由丢给192.168.5.100那部主机来帮忙传递
ip route add default via 192.168.160.2 dev eth0

1.4 无线网络: iwlist, iwconfig

  • iwlist: 利用无线网卡进行无线AP的检测与取得相关数据
  • iwconfig: 设置无线网卡的相关参数

1.5 DHCP客户端命令: dhclient

dhclient eth0
#可以立即让我们的网卡以DHCP协议去尝试取得IP

2. 网络排错与查看命令

1. 两台主机的两点沟通: ping

send ICMP ECHO_REQUEST to network host

最重要的是ICMP type 0, 8这两个类型, 分别是要求会送与主动回送网络状态是否存在的特性, ping需要通过IP数据包来传输ICMP数据包

ping [选项与参数] IP
-c 数值: count, 后接执行ping的次数
-n: 传输数据时不进行IP与主机名的反查, 直接使用IP输出(速度较快)
-s 数值: 发送出去的ICMP数据包大小, 默认56bytes, 可以放大
-t 数值: TTL数值, 默认255, 每经过一个节点就少1
    # 如果你的主机与待检测主机不在同一个网络内, 则默认TTL=255, 
        # 在同一网络, 则默认TTL=64
-W 数值: 等待响应对方主机的秒数
-M [do|dont]: 主要检测网络的MTU数值大小, 两个常见的项目是:
    do: 传输一个DF("Don't Fragment")标志, 让数据包不能重新拆包与打包
    dont: 不要传输DF标志, 表示数据包可以在其他主机上拆包与打包

# 实例: 找出最大的MTU数值
ping -c 3  -n -s 8000 -t 200 -W 5 -M do www.baidu.com
# 不过需要知道的是, IP数据包包头(不含options)已占用20bytes, 
# 加上ICMP的报头有8bytes, 所以当你在使用-s size时, 
# 那个数据包的大小就需要先扣除(20+8=28)的大小了, 
# 因此如果要使用的MTU为1500时, 就需要下达"ping -s 1472 -M do IP"才行

2. 两主机间各节点分析: traceroute

print the route packets trace to network host

traceroute [选项与参数] IP
-n: 传输数据时不进行IP与主机名的反查, 直接使用IP输出(速度较快)
-U: 使用UDP的port 33434端口进行检测, 这是默认检测协议
-I: 使用ICMP的方式检测
-T: 使用TCP的prot 80检测
-w: 若对方的主机在几秒内没有回应就声明不同, 默认5s
-p port: 指定使用的检测端口

traceroute -n www.baidu.com
traceroute to www.baidu.com (115.239.210.27), 30 hops max, 60 byte packets
 1  192.168.160.2  0.079 ms  0.091 ms  0.029 ms #每个节点检测三次
 2  * * *
 3  * * *
 # 返回星号代表该node可能设有某些防护措施, 使我们发送的数据包被丢弃
 # 由于目前UDP/ICMP的攻击层出不穷, 
 # 因此很多路由器可能就此取消这两个数据包的相应功能, 
 # 不过我们可以使用TCP来检测
traceroute -n -T -w 1 www.baidu.com
traceroute to www.baidu.com (115.239.210.27), 30 hops max, 60 byte packets
 1  192.168.160.2  0.076 ms  0.098 ms  0.056 ms
 2  115.239.210.27  10.431 ms  29.049 ms  34.067 ms

3. 查看主机的网络连接与后门: netstat

可以查看网络连接的状态, 而网络连接状态中, 又可以查看"我目前开了多少端口在等待客户端连接", "目前我的网络连接状态中, 有多少连接已建立或产生问题"

netstat -[tulnpac]
-n: 不使用主机名与服务名称, 使用ip与port number
-t: 仅列出TCP数据包的连接
-u: 仅列出UDP数据包的连接
-l: 仅列出已在Listen(监听)的服务的网络状态
-p: 列出PID与Program的文件名
-a: 列出所有连接状态
-c: 设置每几秒自动更新一次, 如-c 5
#实例:
netstat -tulnp

4. 检测主机名与IP的对应: host

host [-a] hostname [server]
-a: 列出该主机详细的各项主机名设置数据
server: 可以使用不是有/etc/resolv.conf文件定义的DNS服务器IP来查询
# 实例:
host -a www.baidu.com 8.8.8.8
Trying "www.baidu.com"
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16809
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.         IN  ANY

;; ANSWER SECTION:
www.baidu.com.      991 IN  CNAME   www.a.shifen.com.

Received 58 bytes from 8.8.8.8#53 in 87 ms

3. 远程连接命令与即时通信软件

4. 网络配置补充

# 配置/etc/passwd时如何找到MAC地址?
dmesg | grep eth
DNS1=
DNS2=
DNS3= # 最多配置3个DNS地址, 
# 且使用systemctl restart network后会将这三个DNS的配置写入/etc/resolv.conf中

# 如何将系统的eno16777736改为原来的eth0?
vi /etc/default/grub
# (1) 在GRUB_CMDLINE_LINUX=...后添加 net.ifnames=0 biosdevname=0
# (2) grub2-mkconfig -o /boot/grub2/grub2.cfg 重新生成grub2.cfg文件
# (3) 将ifcfg-eno16777736中的DEVICE值修改为eth0

虚拟机中的虚拟网络编辑器可调整虚拟机使用的网卡, DHCP等信息

          本文基于<鸟哥的Linux私房菜>, 归纳整理, 在此致谢鸟哥.

相关文章

  • linux网络相关的调试命令

    一、linux网络相关的调试命令 查看IP相关信息 ifconfig命令被用于配置和显示Linux内核中网络接口的...

  • Linux学习笔记

    Linux常用命令 Linux显示隐藏文件 Linux网络设置 dns服务解析域名配置 临时设定ip相关配置 添加...

  • Linux中网络设置

    简介 介绍Linux中网络相关的操作命令及使用 网络相关设置 ping ifconfig 网卡配置文件:/etc/...

  • Linux网络配置相关命令

    1. 设置网络参数的命令 1. 1 手动/自动配置IP参数与启动/关闭网络接口: ifconfig, ifup, ...

  • Linux网络管理

    参考:* Linux中的网络管理——网络配置及命令 网络配置: ifconfig命令 网络配置文件:..网卡信...

  • Centos7软件包的管理与安装

    一,Linux网络相关的调试命令 1,查看IP相关信息# ifconfig2,修改网卡配置文件# vim /etc...

  • route、netstat、ss、ip(网络管理3)

    route命令 netstat命令 ss命令 ip命令(配置Linux网络属性)

  • Linux学习大纲(二)——重点内容

    二、Linux中常用命令 2.1 Linux的网络相关的配置 2.1.1 方法一:图形化方式 不需要重启系统或者...

  • Linux-网络管理

    Linux系统中查看、操作网络相关属性有3种方式:命令、配置文件、交互式工具 1.命令 - ip、ss、nmcli...

  • 每天一个Linux命令之ifconfig

    ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网...

网友评论

      本文标题:Linux网络配置相关命令

      本文链接:https://www.haomeiwen.com/subject/ildejqtx.html