linux网络属性常用命令有ifconfig\route\ip命令,centos7 的还是nmcli\nmtui。
网络属性的三大文件:修改DNS的文件/etc/resolv.conf 、修改网卡IP地址/etc/sysconfig/network-scripts/ifcfg-dev_name以及添加静态路由的/etc/sysconfig/network-scripts/route-dev_name
ifconfig命令
常用options有: hw {ether|ax25|ARCnet}修改MAC地址, add/del 添加/删除ip地址 up/down 把网卡的状态设为up/down状态 mtu 修改网卡的mtu值,默认是1500 arp/-arp 开户/关闭arp协议 [root@Centos6 ~]# ifconfig #查看网卡状态及信息 eth0 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 #网卡的类型及MAC地址 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 #ip、mask、广播地址 inet6 addr: 240e:a4:dd9:300:20c:29ff:fede:6092/64 Scope:Global inet6 addr: fe80::20c:29ff:fede:6092/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:67913 errors:0 dropped:0 overruns:0 frame:0 #接收的网络报文数量统计 TX packets:22916 errors:0 dropped:0 overruns:0 carrier:0 #发送的网络报文数量统计 collisions:0 txqueuelen:1000 RX bytes:38459605 (36.6 MiB) TX bytes:2424081 (2.3 MiB) #接收与发送报文的大小 [root@Centos6 ~]# ifconfig eth0 arp #启动arp[root@Centos6 ~]# ifconfig eth0 -arp #关闭arp[root@Centos6 ~]# ifconfig eth0 mtu 1490 #修改mtu值[root@Centos6 ~]# ifconfig eth0 up #修改网卡状态为up,默认就是up[root@Centos6 ~]# ifconfig eth0 down #修改网卡状态为down。修改后网络断了,远程连接被退出了Connection closed by foreign host. Disconnected from remote host(6.6) at 11:42:56. Type `help' to learn how to use Xshell prompt. root@Centos6 ~]# ifconfig eth0 192.168.1.12/24 #修改IP地址Connection closed by foreign host. Disconnected from remote host(6.6) at 11:53:37. Type `help' to learn how to use Xshell prompt. [c:\~]$ ssh 192.168.1.12 Connecting to 192.168.1.12:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Sun May 29 04:52:45 2016 from 192.168.1.6 [root@Centos6 ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0 #修改后立马生效。 [root@Centos6 ~]# ifconfig eth0:1 192.168.1.11/24;ifconfig #为eth0添加子接口IP地址eth0:1,并马上查看 eth0 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0 ……………… eth0:1 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 #已添加成功 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
IP 命令用来显示或操纵Linux主机的路由、IP、策略路由和网卡状态,是Linux下较新的功能强大的网络配置工具
IP命令的使用格式
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] } 常用的OBJECT有:link/addr/route,策略路由rule这里不显示操作
OBJECT---link 可查看、修改网卡的各种二层信息 常用子command有: help 帮助---》 ip link help show 查看硬件属性 up 查看up的接口 dev dev_name 查看指定接口 set 修改网络的各种参数 up | down #设置网卡状态为up或down arp on | arp off #开户或关闭arp multicast on or multicast off #开启或关闭组播 name NAME #设置网卡的名称,修改前要把网卡的状态变为down---》ip link set dev_name name dev-new_name mtu NUMBER #设置mtu address LLADDRESS broadcast LLADDRESS. alias NAME #设置别名 [root@Centos6 ~]# ip link show eth0 #查看eth0二层链接信息 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff alias eth10 #别名为eth10[root@Centos6 ~]# ip link set eth0 alias eth100 #修改别为eth100[root@Centos6 ~]# ip link show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff alias eth100 #修改成功[root@Centos6 ~]#
OBJECT---addr 可管理、删除、查看IP地址 list|show 查看网卡的三层信息 add|delete 添加或删除ip地址 label label_name为增加的IP地址添加卷标,类似了ifconfig eth0:0 的作用 flush 清除IP地址,使用service network dev_name 可以让网卡重新加载IP地址 ip addr show查看三层信息
ip addr add 添加IP,以及label添加IP地址卷标eth0:1
ip addr del 删除指定IP地址
ip addr flush 清除指定网卡的IP地址。格式是ip addr flush eth0
OBJECT---route 可添加、删除、查看linux的路由信息 常用的子命令是: add 添加路由 list 查看路由 delete 删除路由 flush 清除路由 ip route 或者 ip route list 查看路由表信息,其中每条路由最后的proto static 表示此路由是静态路由
ip route add 添加路由,格式是ip route add des_add/mask via gw|dev_name
ip route delete 删除路由,格式是ip route delete des_add/mask。下图中172.16.1.0/24删除完成。172.16.2/24 与172.16.3.0/24是后来添加的
route 路由查看、管理命令。route配置的路由会马上生效,但重启linux后,会丢失配置内容。
添加路由 route [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N][mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] 删除路由 route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N][[dev] If]
路由的查看、添加与删除操作
[root@mfc ~]# route -n 查看路由
可以命以通过route {add|del|}查看route命令使用的格式
[root@mfc ~]# route add -net 192.168.200.0/24 gw 192.168.1.2 添加路由
[root@mfc ~]# route del -net 192.168.200.0/24 gw 192.168.1.2 删除路由
192.168.200.0/24路由已经被删除
注意:ifconfig\ip\route三个命令虽然配置简单,而生效快,但最大的缺点是无法永久有效,重启后配置将会丢失。解决的方法可以直接配置相应的配置文件,保存后可永久有效。
修改IP配置文件
修改IP地址的配置文件是cat /etc/sysconfig/network-scripts/ifcfg-dev_name,centos6网卡的名称默认是ifcfg-eth{0,1,2,……},centos7的网卡默认以eno*
以centos6为例,修改配置文件后,service network restart 重启网络服务生效,centos7还可以使用systemctl restart network
配置文件说明: DEVICE: 此配置文件应用到的设备; HWADDR: 对应的设备的MAC地址; BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp; NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”; ONBOOT:在系统引导时是否激活此设备; TYPE:接口类型;常见有的Ethernet, Bridge; UUID:设备的惟一标识; PADDR:指明IP地址; NETMASK:子网掩码; GATEWAY: 默认网关; DNS1:第一个DNS服务器指向;此处的DNS配置优先于/etc/resolv.conf文件中的DNS配置 DNS2:第二个DNS服务器指向; USERCTL:普通用户是否可控制此设备; PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;
配置DNS服务器指向配置文件
cat /etc/resolv.conf 修改这文件
DNS服务器192.168.1.1是在网卡IP地址文件中/etc/sysconfig-network-scripts/ifcfg-eth0中配置的DNS1
编辑配置文件,添加DNS服务器8.8.8.8,并保存退出,立即生效
再查看此文件的内容
配置route
route的配置文件路径是/etc/sysconfig/network-cripts/目录下,以route-dev_name命令格式的文件,默认不存在,需要创建并配置。
通过此方式配置的路由有两格式:
只有一行的格式:des_ipaddress/mask via gw 有三行的格式: ADDRESS#=dest_ipaddress NETMASK#=mask GETAWAY=gw 注意:两个格式不同时使用,只能选用一个
创建配置文件并添加路由
Centos6
创建并保存文件后,service network restart 可以让配置生效
Centos7
在centos7上的配置文件里,试过1行格式的172.16.3.0/24 via 192.168.1.1 和 172.16.3.0/24 via 192.168.1.1 dev eno16777736,然后nmcli device disconnetc eno016777736 && nmcli device connetc eno16777736 重新启用网卡或重启系统,都不生效;使用三行的格式的也不生效,郁闷中
三个命令的总结:ifconfig与route 命令几乎所有的版本都支持,简单好用,但也只有拥有基本的功能。ip这个命令功能强大,拥有网络属性中的link路信息、IP地址、路由、策略路由、多播、monitor 、邻居等等功能,强大到没有朋友 。三个命令都有的缺点是不能永久有效,若要永久生效,需要修改配置文件。
Centos7网络属性专用修改工具
网卡命名机制
systemd对网络设备的命名方式: (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1; (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1; (c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0; (d) 如果用户显式启动,也可根据MAC地址进行命名,如enx2387a1dc56; (e) 上述均不可用时,则使用传统命名机制;
名称组成格式
en: ethernet wl: wlan ww: wwan 名称类型: o<index>: 集成设备的设备索引号; s<slot>: 扩展槽的索引号; x<MAC>: 基于MAC地址的命名; p<bus>s<slot>: enp2s1
网卡设备的命名过程:
第一步: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) 为grub生成其配置文件 grub2-mkconfig -o /etc/grub2.cfg (3) 重启系统
修改网络名称,修改成简单一点
把网卡名称修改成eth0
第一步骤,修改/etc/default/grub,红色方框的内容是要添加进去的
第二步骤,重新生成grub配置文件,使用grub2-mkconfig -o /etc/grub2.cfg 命令,然后重启
重启后,网卡的名称改为了eth0,这样好记多了。
nmcli 网络管理命令
nmcli [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { general | networking | radio | connection | device | agent } 键入nmcli后,按tab键可以查看后面的参数
查看系统链接网络设备状态,使用nmcli device status
关闭网卡eth0,使用nmcli device disconnect eth0,关闭后ifconfig查看网卡配置时,没有IP的配置
开启eth0,使用nmcli device connect eth0
总结:nmcli命令除了查看设备状态、关闭或开启外,还可以设置静态IP地址、设置为DHCP获取、DNS服务器IP等,但个人觉得这些功能使用较麻烦,不如IP/IFCONFIG命令简单
nmtui可显化配置命令,直接通过按扭操作
选择“set system hostname” 设置主机名,修改为centos7x64,并<OK>,重启后生效
选择“Edit a connection”,修改网卡的IP地址,注意eth0系统连接识别的全称是Ethernet connection 1,修改之后重启生效
ss命令,可取代netstat ,执行效果比netstat快很多
ss [options] [ FILTER ]
常用选项
-t:TCP协议相关 -u:udp协议相关 -w:裸套接字相关 -x:unix sock相关 -l:listen状态的链接 -a:所有 -n:不解析服务的名称 -p:相关程序及PID -e:详细的信息 -m:内存用量 -o:计时器信息 -s:显示汇总信息 -F <路径/文件名> 从指定的文件中读取信息,并显示出来 -A <文件路径/文件名> 把查询的结果转存到指定的文件,支持{all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink},以逗号隔开 FILTER : = [stat tcp-state][expression] 配合使用代表式 ss -o state established ’( dport = :ssh or sport = :ssh )’ 显示状态是established,源端口sport是ssh或者目标端口dport是ssh 的连接的 常用的组合: -tapl -ualp -tal -ual
TCP的常见状态:
LISTEN: 监听 ESTABLISHED:已建立的连接 FIN_WAIT_1 FIN_WAIT_2 SYN_SENT #TCP SYN_RECV #TCP CLOSED #关闭
显示连接汇总信息
显示TCP信息
显示特定IP地址的UDP\TCP链接信息,由实验环境没有UDP连接,查询是没有显示出内容,但命令是这样用。
指定特定IP与特定服务查询连接情况,192.168.1.6只用53185端口连接linux,所以查询80\ssh端口时没有显示
通过tcp的状态查看连接情况。查看状态是established的TCP连接
原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/17280
评论列表(1条)
已置顶,欢迎加入免检家庭