linux网络配置命令总结

为了linux主机配置网络,实现网络通信

配置方式:

静态指定:

可以有三种指定方式的命令:

一:ifcfg类:ifconfig,route,netstat

二:ip类:link,addr,route,ss,tc

三:编辑配置文件

system-config-network-tui(setup就是调用这个工具)

在centos7中有新的工具来配置

nmcli,nmtui

动态分配:

DHCP:dynamic host configuration protocol

配置网络接口:

接口命名方式:

centos6:以网卡的MAC地址来表示一个接口名称,

以太网:eth[0,1,2,...]

ppp联网:ppp[0,1,2,...]

centos7:是以网卡所在的接口曹来命名网卡名称的,一次可以做到换网卡但是网卡名不变

ifconfig命令:interface config

ifconfig [interface]

ifconfig -a :显示所有的网卡

ifconfig eth# [up|down]

ifconfig interface [aftype] options | address ...

ifconfig interface IP/MASK [up]

ifconfig interface IP netmask mask

启用混杂模式选项: [-]promisc 混杂模式表示只要经过本接口的包不论目标地址是不是本接口都进行接收一份并传递

ifcfg命令:

ifcfg DEV [[add|del [ADDR[/LEN]] [PEER] | stop]

   add - add new address

   del - delete address

   stop - completely disable IP

ifup、ifdown命令用来开启或关闭网络借口的

ifup|ifdown interface

route命令:

查看:route -n

   添加:route add

   route add  [-net|-host]  target [netmask Nm] [gw Gw] [[dev] If]



   目标:192.168.1.3  网关:172.16.0.1

   ~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0



   目标:192.168.0.0 网关:172.16.0.1

   ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

   ~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0



   默认路由,网关:172.16.0.1

   ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

   ~]# route add default gw 172.16.0.1



   删除:route del

   route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]



   目标:192.168.1.3  网关:172.16.0.1

   ~]# route del -host 192.168.1.3



   目标:192.168.0.0 网关:172.16.0.1

   ~]# route del -net 192.168.0.0 netmask 255.255.255.0



   DNS服务器指定

   /etc/resolv.conf

   nameserver DNS_SERVER_IP1

   nameserver DNS_SERVER_IP2

   nameserver DNS_SERVER_IP3



   正解:FQDN-->IP

   # dig -t A FQDN

   # host -t A FQDN

   反解:IP-->FQDN

   # dig -x IP

   # host -t PTR IP

dig命令:用于追踪DNS地址解析

dig:不带参数表示从(。)根开始解析。

dig [@server] [-b address]表示有效的ip地址

[-c class] [-f filename] [-k filename] [-m]表示开启调试功能

       [-p port#] [-q name]指定域名称 [-t type]指定DNS解析的记录类型 [-x addr]反解ip地址 [-4]表示使用ipv4 [-6]表示使用ipv6

       [name] [type] [class] [queryopt...

netstat工具: Print network connections, routing tables,interface statistics, masquerade connections, and multicast memberships

                     网络连接            路由表信息       接口状态              伪装连接                     组播用户关系信息

显示网络链接的参数:

netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]

   -t: tcp协议相关

   -u: udp协议相关

   -w: raw socket相关

   -l: 处于监听状态

   -a: 所有状态

   -n: 以数字显示IP和端口;

   -e:扩展格式

   -p: 显示相关进程及PID



   常用组合:

   -tan, -uan, -tnl, -unl



   显示路由表:

   netstat  {--route|-r} [--numeric|-n]

   -r: 显示内核路由表

   -n: 数字格式



   显示接口统计数据:

   netstat  {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] 



   # netstat -i 显示所有接口的信息

   # netstat -I IFACE  显示某一个接口的信息

ip命令

 [root@localhost ~]# rpm -qf `which ip`

iproute-2.6.32-32.el6_5.x86_64

ip - show / manipulate routing, devices, policy rout-ing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | addrlabel | route | rule |

           neigh | tunnel | maddr | mroute | monitor }



   OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve]

           | -f[amily] { inet | inet6 | ipx | dnet |

           link } | -o[neline] } 

link OBJECT:

ip link - network device configuration

set

dev IFACE

可设置属性:

up and down:激活或禁用指定接口;

show

[dev IFACE]:指定接口

[up]:仅显示处于激活状态的接口

ip address - protocol address management

ip addr { add | del } IFADDR dev STRING

[label LABEL]:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global: 全局可用;

link: 仅链接可用;

host: 本机可用;

[broadcast ADDRESS]:指明广播地址

ip address show - look at protocol addresses

[dev DEVICE]

[label PATTERN]

[primary and secondary]

ip address flush - flush protocol addresses

使用格式同show,清楚网卡的ip地址配置

ip addr flush dev eth0

ip route - routing table management

ip route add

添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

TARGET:

主机路由:IP

网络路由:NETWORK/MASK

添加网关:ip route add defalt via GW dev IFACE

ip route delete

删除路由:ip route del TARGET

ip route show

ip route flush

[dev IFACE]

[via PREFIX]

ss命令:

格式:ss [OPTION]... [FILTER]

选项:

-t: tcp协议相关

-u: udp协议相关

-w: 裸套接字相关

-x:unix sock相关

-l: listen状态的连接

-a: 所有

-n: 数字格式

-p: 相关的程序及PID

-e: 扩展的信息

-m:内存用量

-o:计时器信息

                     FILTER := [ state TCP-STATE ] [ EXPRESSION ]

                           EXPRESSION:

                dport = 

                sport = 

                示例:’( dport = :ssh or sport = :ssh )’

tcp的常见状态:

listen:监听状态

established:以建立的正在连接的状态

FIN_WAIT_1 :

FIN_WAIT_2 :

SYN_SENT :

SYN_RECV :

CLOSED :

linux上的网路配置:修改配置文件

IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE

/etc/sysconfig/network-scripts/ifcfg-IFACE:

DEVICE:此配置文件应用到的设备;

HWADDR:对应的设备的MAC地址;

BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp;

NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”;

ONBOOT:在系统引导时是否激活此设备;

TYPE:接口类型;常见有的Ethernet, Bridge;

UUID:设备的惟一标识;

IPADDR:指明IP地址;

NETMASK:子网掩码;

GATEWAY: 默认网关;

DNS1:第一个DNS服务器指向;

DNS2:第二个DNS服务器指向;

USERCTL:普通用户是否可控制此设备;

PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;

配置路由信息的配置文件需要手动添加:在/etc/sysconfig/network-scripts/route-IFACE

内容可以有两种编写方式:

(1) TARGET via GW

(2) 每三行定义一条路由(#必须是从0开始)

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

centos6上管理网络管理的两个脚本是/etc/rc.d/init.d/network或者/etc/rc.d/init.d/networkmanger

但是后者在centos6上的有些不完善,所以在配置网络脚本时建议禁用此项NM_CONTROLLED="no"

给网卡配置多地址:

ifconfig:

ifconfig IFACE_ALIAS

         注意:使用ifconfig给网卡配置多地址,必须制定别名,如eth0:1,另外网卡别名不能使用兑换成【

来引导。

            ifconfig eth0:1 172.16.1.111

ip

ip addr add

配置文件:

ifcfg-IFACE_ALIAS

DEVICE=IFACE_ALIAS

注意:网关别名不能使用dhcp协议引导;

Linux网络属性配置的tui(text user interface):

system-config-network-tui

也可以使用setup找到;

注意:记得重启网络服务方能生效;

配置当前主机的主机名:

hostname [HOSTNAME]

   或者修改配置文件

/etc/sysconfig/network

HOSTNAME=

网络接口识别并命名相关的udev配置文件:

修改网卡名称/etc/udev/rules.d/70-persistent-net.rules的配置

wKioL1YJUnLCQx6fAAIjO-XLkOM986.jpg

注意:修改这个不会立即生效,要想立即生效可以先拆除网卡驱动然后重新装载网卡驱动即可。

centos7网络属性配置:

可预测功能的命名方式:

udev支持不同的命名方式:

Firmware :指主板上的固件信息

拓扑结构:接口的拓扑信息

(1) 网卡命名机制

systemd对网络设备的命名方式:

(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1;

(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;

(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;

(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56;

(e) 上述均不可用时,则使用传统命名机制;

上述命名机制中,有的需要biosdevname程序的参与;

(2) 名称组成格式

en: ethernet

wl: wlan

ww: wwan

名称类型:

o<index>: 集成设备的设备索引号;</index>

s<slot>: 扩展槽的索引号;</slot>

x<mac>: 基于MAC地址的命名;</mac>

p<bus>s<slot>: enp2s1 是根据pci总线的插槽位置来命名的</slot></bus>

网卡设备的命名过程:

第一步:

udev, 辅助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules

第二步:

biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules

第三步:

通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description

ID_NET_NAME_ONBOARD, ID_NET_NAME_SLOT, ID_NET_NAME_PATH

回归传统命名方式:

(1) 编辑/etc/default/grub配置文件

GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"

(2) 为grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统

地址配置工具:nmcli(此工具功能太强大,不好掌握,版本之间有很多区别,建议使用nmtui工具)

nmcli [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { general | networking | radio | connection | device | agent }

radio - get or set radio switch states

wifi [ on | off ]

wwan [ on | off ]

wimax [ on | off ]

all [ on | off ]

networking - get or set general networking state of NetworkManager

[ on | off | connectivity

general - general NetworkManager status and operations

status | hostname | permissions | log‐ging

connection - start, stop, and manage network connec‐ tions

show | up | down | add | edit | modify| delete | reload | load

        device - show and manage network interfaces 

{ status | show | connect | disconnect | delete | wifi }

例:

如何修改IP地址等属性:

nmcli connection modify IFACE [+|-]setting.property value

setting.property:

ipv4.addresses

ipv4.gateway

ipv4.dns1

ipv4.method //利用这个配置的地址会立即生效的

manual表示手动修改,dhcp表示dhcp自动获取

注意:nmcli 修改ip地址后可能不会立即生效,

nmcli con mod eth0 +ipv4.addr 172.16.1.110

nmcli con down eth0;nmcli con up eth0

nmcli conn modify eth0 -ipv4.addresses 172.16.1.110

nmcli con down eth0;nmcli con up eth0

centos7上重启网络服务:

systemctl restart NetWorkManger或者 systemctl restart network

nmtui工具是nmcli命令的图形界面工具,可以实现在图形化界面配置网络地址

nmap命令:

nmap [Network Mapper ] 是Linux,Free BSD,UNIX,Windows下的网络扫描和嗅探工具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口。

此命令由nmap.x86_64 2:6.40-4.el7包提供

此包提供了另一个命令nping

nping - Network packet generation tool / ping utility

例:

nping -c 1 --tcp -p 80,433 scanme.nmap.org google.com

转自:https://blog.51cto.com/qikexing/1698952

全部评论

相关推荐

程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务