centos使用方法(centos如何安装软件)

大家好,感谢邀请,今天来为大家分享一下centos使用方法的问题,以及和centos如何安装软件的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

linux基础:Centos下修改IP地址的方法

探索CentOS中灵活的IP地址管理:从临时调整到永久变更

理解网卡命名规则

在CentOS 7的环境中,en标识了以太网接口,通常用于连接局域网。enX的X可能有三种类型的扩展,包括:

o(onboard)</-主板内置的网卡,其设备索引号由主板信息决定。

p(PCI)</-独立的PCI网卡,为扩展插槽中的独立设备。

s(hot-pluggable)</-热插拔网卡,如USB接口,其索引号对应于扩展槽的位置。

网卡后的数字是通过MAC地址和主板信息计算出的唯一标识。

临时IP的快速调整

对于临时更改IP,首先查看网络接口状态:

ifconfig

然后,可以通过以下命令将ens33接口的IP设置为192.168.1.64:

ifconfig ens33 192.168.1.64 netmask 255.255.255.0

重启网络服务以使更改生效(CentOS 6用service network restart,CentOS 7用systemctl restart network)。

扩展:多IP支持

要添加临时IP,可以使用ifconfig ens33:0,例如:

ifconfig ens33:0 192.168.1.64 netmask 255.255.255.0 up

管理这些临时IP时,记得在不需要时使用ifconfig ens33:0 del删除。

步入新时代:NetworkManager的使用

CENTOS 7倾向于使用NetworkManager进行网络管理,取代了先前的network服务。它是一个动态的事件驱动系统,提供了更统一的网络配置体验。

systemctl status NetworkManager

了解网络配置文件,如

/etc/sysconfig/network-scripts/ifcfg-ens33:存储IP地址、子网掩码等信息。

/etc/sysconfig/network-scripts/ifcfg-lo:回环地址配置文件。

/etc/resolv.conf:DNS配置文件。

/etc/hosts:主机和IP绑定的静态记录。

/etc/hostname:主机名设置。

永久性IP变更

对于持久的IP更改,有两种方法:

方法1: nmtui</

启用编辑连接

选择对应网卡进入编辑模式

修改网卡配置

保存并退出,最后重启网络服务

方法2:修改配置文件</

使用vim/etc/sysconfig/network-scripts/ifcfg-ens33

编辑完毕后,使用ESC,然后输入wq!,并重启网络服务

配置文件详解

关键配置参数包括:

DEVICE</:设备名称

HWADDR</:MAC地址

BOOTPROTO</:地址配置协议,如dhcp、static等

NM_CONTROLLED</:是否受NetworkManager管理

ONBOOT</:是否在系统启动时启用

TYPE</:接口类型

UUID</:设备唯一标识

IPADDR</:IP地址

NETMASK</:子网掩码

GATEWAY</:默认网关

DNS1/DNS2</:DNS服务器地址

USERCTL</:普通用户是否可操作

IPV4_FAILURE_FATAL</:IP配置失败时的行为

CentOS网络状态工具ss命令使用方法

ss命令用于显示socket状态.他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计.它比其他工具展示等多tcp和state信息.它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:

所有的TCP sockets

所有的UDP sockets

所有ssh/ftp/ttp/https持久连接

所有连接到Xserver的本地进程

使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤

所有的state FIN-WAIT-1 tcpsocket连接以及更多

很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat-ant/lnt等.

展示他之前来做个对比,统计服务器并发连接数

netstat

# time netstat-ant| grep EST| wc-l

3100

real 0m12.960s

user 0m0.334s

sys 0m12.561s

# time ss-o state established| wc-l

3204

real 0m0.030s

user 0m0.005s

sys 0m0.026s

结果很明显ss统计并发连接数效率完败netstat,在ss能搞定的情况下,你还会在选择netstat吗,还在犹豫吗,看以下例子,或者跳转到帮助页面.

常用ss命令:

ss-l显示本地打开的所有端口

ss-pl显示每个进程具体打开的socket

ss-t-a显示所有tcp socket

ss-u-a显示所有的UDP Socekt

ss-o state established'( dport=:smtp or sport=:smtp)'显示所有已建立的SMTP连接

ss-o state established'( dport=:http or sport=:http)'显示所有已建立的HTTP连接

ss-x src/tmp/.X11-unix/*找出所有连接X服务器的进程

ss-s列出当前socket详细信息:

显示sockets简要信息

列出当前已经连接,关闭,等待的tcp连接

# ss-s

Total: 3519(kernel 3691)

TCP: 26557(estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452

Transport Total IP IPv6

* 3691--

RAW 2 2 0

UDP 10 7 3

TCP 3375 3368 7

INET 3387 3377 10

FRAG 0 0 0

列出当前监听端口

# ss-l

Recv-Q Send-Q Local Address:Port Peer Address:Port

0 10:::5989:::*

0 5*:rsync*:*

0 128:::sunrpc:::*

0 128*:sunrpc*:*

0 511*:http*:*

0 128:::ssh:::*

0 128*:ssh*:*

0 128:::35766:::*

0 128 127.0.0.1:ipp*:*

0 128::1:ipp:::*

0 100::1:smtp:::*

0 100 127.0.0.1:smtp*:*

0 511*:https*:*

0 100:::1311:::*

0 5*:5666*:*

0 128*:3044*:*

ss列出每个进程名及其监听的端口

# ss-pl

ss列所有的tcp sockets

# ss-t-a

ss列出所有udp sockets

# ss-u-a

ss列出所有http连接中的连接

# ss-o state established'( dport=:http or sport=:http)'

以上包含对外提供的80,以及访问外部的80

用以上命令完美的替代netstat获取http并发连接数,监控中常用到

ss列出本地哪个进程连接到x server

# ss-x src/tmp/.X11-unix/*

ss列出处在FIN-WAIT-1状态的http、https连接

# ss-o state fin-wait-1'( sport=:http or sport=:https)'

ss常用的state状态:

established

syn-sent

syn-recv

fin-wait-1

fin-wait-2

time-wait

closed

close-wait

last-ack

listen

closing

all: All of the above states

connected: All the states except for listen and closed

synchronized: All the connected states except for syn-sent

bucket: Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.

big: Opposite to bucket state.

ss使用IP地址筛选

ss src ADDRESS_PATTERN

src:表示来源

ADDRESS_PATTERN:表示地址规则

如下:

ss src 120.33.31.1#列出来之20.33.31.1的连接

#列出来至120.33.31.1,80端口的连接

ss src 120.33.31.1:http

ss src 120.33.31.1:80

ss使用端口筛选

ss dport OP PORT

OP:是运算符

PORT:表示端口

dport:表示过滤目标端口、相反的有sport

OP运算符如下:

= or le:小于等于= or ge:大于等于

== or eq:等于

!= or ne:不等于端口

or lt:小于这个端口 or gt:大于端口

OP实例

ss sport=:http也可以是 ss sport=:80

ss dport=:http

ss dport \:1024

ss sport \:1024

ss sport \:32000

ss sport eq:22

ss dport!=:22

ss state connected sport=:http

ss \( sport=:http or sport=:https \)

ss-o state fin-wait-1 \( sport=:http or sport=:https \) dst 192.168.1/24

为什么ss比netstat快:

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

ss命令帮助

# ss-h

Usage: ss [ OPTIONS ]

ss [ OPTIONS ] [ FILTER ]

-h,--help this message

-V,--version output version information

-n,--numeric don't resolve service names

-r,--resolve resolve host names

-a,--all display all sockets

-l,--listening display listening sockets

-o,--options show timer information

-e,--extended show detailed socket information

-m,--memory show socket memory usage

-p,--processes show process using socket

-i,--info show internal TCP information

-s,--summary show socket usage summary

-4,--ipv4 display only IP version 4 sockets

-6,--ipv6 display only IP version 6 sockets

-0,--packet display PACKET sockets

-t,--tcp display only TCP sockets

-u,--udp display only UDP sockets

-d,--dccp display only DCCP sockets

-w,--raw display only RAW sockets

-x,--unix display only Unix domain sockets

-f,--family=FAMILY display sockets of type FAMILY

-A,--query=QUERY,--socket=QUERY

QUERY:={all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

-D,--diag=FILE Dump raw information about TCP sockets to FILE

-F,--filter=FILE read filter information from FILE

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

Centos系统 ip命令使用方法

[root@Linux~]# ip [option] [动作] [命令]

参数:

option:设定的参数,主要有:

-s:显示出该设备的统计数据(statistics),例如总接受封包数等;

动作:就是是可以针对哪些网络参数进行动作,包括有:

link:关于设备(device)的相关设定,包括 MTU, MAC地址等等

addr/address:关于额外的 IP设定,例如多 IP的实现等等;

route:与路由有关的相关设定

上面的语法我们可以知道, ip除了可以设定一些基本的网络参数之外,还能够进行额外的 IP设定,包括多 IP的实现,真是太完美了!下面我们就分三个部分(link, addr, route)来介绍这个 ip命令。

关于设备(device)的相关设定: ip link

ip link可以设定与设备(device)有关的相关设定,包括 MTU以及该网络设备的 MAC等等,当然也可以启动(up)或关闭(down)某个网络设备。整个语法是这样的:

[root@linux~]# ip [-s] link show==单纯的查阅该设备相关的信息

[root@linux~]# ip link set [device] [动作与参数]

参数:

show:仅显示出这个设备的相关内容,如果加上-s会显示更多统计数据;

set:可以开始设定项目, device指的是 eth0, eth1等等设备代号;

动作与参数:包括以下动作:

up|down:启动(up)或关闭(down)某个设备,其他参数使用预设的以太网参数;

address:如果这个设备可以更改 MAC,用这个参数修改;

name:给予这个设备一个特殊的名字;

mtu:设置最大传输单元。

范例一:显示出所有的设备信息

[root@linux~]# ip link show

1: lo: LOOPBACK,UP,10000 mtu 16436 qdisc noqueue

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: BROADCAST,MULTICAST,UP,10000 mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

3: sit0: NOARP mtu 1480 qdisc noop

link/sit 0.0.0.0 brd 0.0.0.0

[root@linux~]# ip-s link show eth0

2: eth0: BROADCAST,MULTICAST,UP,10000 mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

484011792 2247372 0 0 0 0

TX: bytes packets errors dropped carrier collsns

2914104290 2867753 0 0 0 0

使用 ip link show可以显示出整个设备的硬件相关信息,如上所示,包括 MAC地址、MTU等等,比较有趣的应该是那个 sit0的设备了,那个 sit0的设备是将IPv4和 IPv6的封包进行转换,对于我们仅使用 IPv4的网络是没有作用的。 lo及 sit0都是主机内部自行设定的。而如果加上-s的参数后,则这个网卡的相关统计信息就会被列出来,包括接收(RX)及传送(TX)的封包数量等等,详细的内容与 ifconfig所输出的结果相同。

范例二:启动、关闭与设定设备的相关信息

[root@linux~]# ip link set eth0 up

#启动eth0这个设备;

[root@linux~]# ip link set eth0 down

#关闭eth0这个设备;

[root@linux~]# ip link set eth0 mtu 1000

#更改 MTU为1000 bytes,单位就是 bytes。

更新网卡的 MTU使用 ifconfig也可以实。如果是要更改『网卡代号、 MAC地址的信息』的话,那可就得使用 ip了,设定前需要先关闭该网卡,否则会不成功。如下所示:

范例三:修改网卡代号、MAC等参数

[root@linux~]# ip link set eth0 name vbird

SIOCSIFNAME: Device or resource busy

#因为该设备目前是启动的,所以不能这样做设定。你应该要这样做:

[root@linux~]# ip link set eth0 down==关闭设备

[root@linux~]# ip link set eth0 name vbird==重新设定

[root@linux~]# ip link show==查看信息

2. vbird: BROADCAST,MILTICASE mtu 900 qdisc pfifo_fast qlen 1000

link/ehter 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

#呵呵,连网卡代号都可以改变!不过,玩玩后记得改回来啊!

#因为我们的 ifcfg-eth0还是使用原本的设备代号!避免有问题,要改回来

[root@linux~]# ip link set vbird name eth0==设备改回来

[root@linux~]# ip link set eth0 address aa:aa:aa:aa:aa:aa

[root@linux~]# ip link show eth0

#如果你的网卡支持MAC更改的话,

#那么上面这个命令就可以更改你的网卡MAC了!

#不过,还是那句老话,测试完之后请立刻改回来!

在这个设备的硬件相关信息设定,上面包括 MTU, MAC以及传输的模式等等,都可以在这里设定。有趣的是那个 address的项目,那个项目后面接的可是MAC地址而不是IP地址很容易搞错啊!切记切记!更多的硬件参数可以使用 man ip查阅一下与 ip link有关的设定。

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

如果说 ip link是与 OSI七层模型的第二层数据链路层有关的话,那么 ip address(ip addr)就是与第三层网络层有关的了。主要是在设定与 IP有关的各项参数,包括 netmask, broadcast等等。

[root@linux~]# ip address show==查看IP参数

[root@linux~]# ip address [add|del] [IP参数] [dev?备名] [相关参数]

参数:

show:单纯的显示出设备的 IP信息;

add|del:进行相关参数的增加(add)或删除(del)设定,主要有:

IP参数:主要就是网域的设定,例如 192.168.100.100/24之类的设定;

dev:这个 IP参数所要设定的设备,例如 eth0, eth1等等;

相关参数:如下所示:

broadcast:设定广播位址,如果设定值是+表示让系统自动计算;

label:该设备的别名,例如eth0:0;

scope:这个设备的领域,通常是以下几个大类:

global:允许来自所有来源的连线;

site:仅支持IPv6,仅允许本主机的连接;

link:仅允许本设备自我连接;

host:仅允许本主机内部的连接;

所以当然是使用 global了。预设也是 global!

范例一:显示出所有设备的 IP参数:

[root@linux~]# ip address show

1: lo: LOOPBACK,UP,10000 mtu 16436 qdisc noqueue

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: BROADCAST,MULTICAST,UP,10000 mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0

inet6 fe80::250:fcff:fe22:9acb/64 scope link

valid_lft forever preferred_lft forever

3: sit0: NOARP mtu 1480 qdisc noop

link/sit 0.0.0.0 brd 0.0.0.0

下面我们进一步来新增虚拟的网络设备:

范例二:新增一个设备,名称假设为 eth0:vbird

[root@linux~]# ip address add 192.168.50.50/24 broadcast+/

dev eth0 label eth0:vbird

[root@linux~]# ip address show eth0

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

inet 192.168.50.50/24 brd 192.168.50.255 scope global eth0:vbird

inet6 fe80::240:d0ff:fe13:c346/64 scope link

valid_lft forever preferred_lft forever

#看上面的输出多出了一行,增加了新的设备,名称是 eth0:vbird

#至于那个 broadcast+也可以写成 broadcast 192.168.50.255。

[root@linux~]# ifconfig

eth0:vbir Link encap:Ethernet HWaddr 00:40:D0:13:C3:46

inet addr:192.168.50.50 Bcast:192.168.50.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:5 Base address:0x3e00

#如果使用 ifconfig就能够看到这个怪东西了!

范例三:将刚刚的设备删除

[root@linux~]# ip address del 192.168.50.50/24 dev eth0

#删除比较简单。

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

关于路由的设定: ip route

这个项目就是路由的查看与设定。事实上ip route的功能几乎与 route这个命令一样,但是,它还可以进行额外的参数设置,例如 MTU的规划等等,相当的强悍啊!

[root@linux~]# ip route show==单纯的显示出路由的设定

[root@linux~]# ip route [add|del] [IP或网域] [via gateway] [dev设备]

参数:

show:单纯的显示出路由表,也可以使用 list;

add|del:增加(add)或删除(del)路由;

IP或网域:可使用 192.168.50.0/24之类的网域或者是单纯的 IP;

via:从那个 gateway出去,不一定需要;

dev:由那个设备连出去,需要;

mtu:可以额外的设定 MTU的数值;

范例一:显示出目前的路由资料

[root@linux~]# ip route show

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2

169.254.0.0/16 dev eth1 scope link

default via 192.168.1.254 dev eth1

如上表所示,最简单的功能就是显示出目前的路由信息,其实跟 route这个命令相同。必须注意的几点:

proto:此路由的路由协定,主要有 redirect, kernel, boot, static, ra等,其中 kernel指的是直接由核心判断自动设定。

scope:路由的范围,主要是 link,是与本设备有关的直接连接。

再来看一下如何进行路由的增加与删除:

范例二:增加路由,主要是本机直接可沟通的网域

[root@linux~]# ip route add 192.168.5.0/24 dev eth0

#针对本机直接沟通的网域设定好路由,不需要透过外部的路由器

[root@linux~]# ip route show

192.168.5.0/24 dev eth0 scope link

....以下省略....

范例三:增加可以通往外部的路由,需透过 router;

[root@linux~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0

[root@linux~]# ip route show

192.168.5.0/24 dev eth0 scope link

....其他省略....

192.168.10.0/24 via 192.168.5.100 dev eth0

#仔细,因为我有 192.168.5.0/24的路由存在(与我的网卡直接相关),

#所以才可以将 192.168.10.0/24的路由丢给 192.168.5.100

#那部主机来帮忙传递!与之前提到的 route命令是一样的限制!

范例四:增加预设路由

[root@linux~]# ip route add default via 192.168.1.2 dev eth0

#那个 192.168.1.2就是我的预设路由器(gateway);

#记住,只要一个预设路由就OK了;

范例五:删除路由

[root@linux~]# ip route del 192.168.10.0/24

[root@linux~]# ip route del 192.168.5.0/24

事实上,这个 ip的命令实在是太博大精深了!刚接触 Linux网络的朋友,可能会看到有点晕!您先会使用 ifconfig, ifup, ifdown与 route即可,等以后有经验了之后,再继续回来玩 ip这个好玩的命令吧!有兴趣的话,也可以自行参考 ethtool这个命令!

阅读剩余
THE END