netstat
查询系统上有多少TCP 多少UDP会话
netstat -tun
-t: tcp-u: udp-a: all 表示列出所有的连接,服务监听,Socket资料-n: port number 用数字的形式展示-p: program显示哪个进程监听这个端口-l :Listening,列出当前处于监听状态的服务contos7(Minimal) /contos7(ECS) 使用命令 : ss
ss 尤其是在有海量并发时,效率更高
-t: tcp-u: udp显示当前机器上有哪些端口提供服务[root@139 bin]# ss -nlutp
centos7特性*** 作 | centos6 | centos7 |
---|---|---|
文件系统 | ext4 | xfs |
修改主机名 | /etc/sysconfig/network | /etc/hosthome |
修改时区 | /etc/sysconfig/clock | timedatectl set-timezone Asia/Tokyo |
查看ip信息 | ifconfig | ifconfig/ip(阿里ECS) |
查看DNS信息 | /etc/resolv.conf | - |
查看端口状态 | netsat | netsat/ss |
核心服务
*** 作 | centos6 | centos7 |
---|---|---|
防火墙 | iptables | firewald |
服务管理 | System V init | systemd |
时间同步服务 | ntp | chrony |
查看防火墙的状态
[root@大爱ECS bin]# sudo systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; Disabled; vendor preset: enabled) Active: inactive (dead) # 关闭 Docs: man:firewalld(1)
其他变化centos7 默认支持docker内核支持: Overlay FSRepo 源支持centos7 的yum源支持一键安装docker不再支持32位 *** 作系统GNOME 3.X (桌面应用)支持40G以太网卡文件目录-rw-r--r-- 1 root root 0 Sep 14 19:11 a2498lrwxrwxrwx 1 root root 7 Feb 22 2019 bin -> usr/bin # *** 作系统的命令dr-xr-xr-x. 5 root root 4096 Jun 24 10:17 boot # boot loader files 基础引导文件,引导开机drwxr-xr-x 7 root root 4096 Jun 3 14:41 CloudresetPwdUpdateAgentdrwxr-xr-x 7 root root 4096 Sep 1 22:47 CloudrresetPwdAgentdrwxr-xr-x 19 root root 3020 Sep 15 15:10 dev # 磁盘,设备文件drwxr-xr-x. 84 root root 4096 Sep 15 15:10 etc # 存放大量的配置文件drwxr-xr-x. 3 root root 4096 Sep 8 20:32 home # 普通用户的家目录drwxr-xr-x 4 root root 4096 Aug 25 19:25 kong lrwxrwxrwx 1 root root 7 Feb 22 2019 lib -> usr/lib # 系统的依赖库lrwxrwxrwx 1 root root 9 Feb 22 2019 lib64 -> usr/lib64drwx------. 2 root root 16384 Feb 22 2019 lost+founddrwxr-xr-x. 2 root root 4096 Apr 11 2018 media # 媒体数据drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt # mount directory 挂载目录drwxr-xr-x 3 root root 4096 Aug 25 17:32 nodedrwxr-xr-x. 2 root root 4096 Sep 13 03:14 opt # optional add-on apps 原生添加的appdr-xr-xr-x 85 root root 0 Sep 15 15:10 proc # process infornation 进程的信息 如top提取的数据就来自这个目录dr-xr-x---. 8 root root 4096 Sep 15 15:06 root # 管理员的家目录drwxr-xr-x 25 root root 740 Sep 15 15:10 runlrwxrwxrwx 1 root root 8 Feb 22 2019 sbin -> usr/sbindrwxr-xr-x. 2 root root 4096 Apr 11 2018 srv # Service Data 服务数据dr-xr-xr-x 13 root root 0 Sep 15 15:10 sysdrwxrwxrwt. 13 root root 4096 Sep 15 15:13 tmp # 临时文件drwxr-xr-x. 13 root root 4096 Feb 22 2019 usr # 用户安装的软件drwxr-xr-x. 19 root root 4096 Sep 15 15:10 var # 可变的文件,如日志文件/帮助文档
centos6 | centos7 |
---|---|
bin | bin->usr/bin |
sbin | sbin->user/sbin |
lib | lib->usr/lib |
lib64 | lib64->usr/lib |
- | run |
centos7 多出来了一个run目录.这个目录类似tmp目录,都用来存放临时文件,但是不同的是它存放的正在运行的服务需要的临时文件
修改时区centos6就是拷贝一份文件到 /etc/localtime中
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
centos7命令: timedatectl
[root@大爱ECS /]# timedatectl Local time: Sun 2019-09-15 15:40:34 CST # 本地时间 Universal time: Sun 2019-09-15 07:40:34 UTC # 世界时间 RTC time: Sun 2019-09-15 07:40:33 # 主板时间 Time zone: Asia/Shanghai (CST,+0800) # +0800 东八区 NTP enabled: yes NTP synchronized: no RTC in local TZ: no # 本地主板时间是否和当前时间保持一致 DST active: n/a
设置本地时间
timedatectl set-timezone Asia/Tokyo
设置主板时间
timedatectl set-local-rtc 1 1 : 表示将硬件的时间调整为和本地时间一致
网卡接口命名centos6一般命名为:
eth0 eth1 eth2em0 em1 em2em* 类型的网卡是针对戴尔而设计
centos7默认是基于固件,拓扑,位置信息来分配,但是更加灵活可预知,但是更加难读
强大的参数自动补全[root@大爱ECS /]# yum install bash-completion
重新登录生效
systemd 服务管理格式:
systemctl [options] conmand [name]
支持服务的并行启动,缩短开机时间
Systemd系统的服务管理--- | centos6 | centos7 |
---|---|---|
服务管理 | service | systemctl |
启动项管理(开机启动) | chkconfig | systemctl |
系统启动级别 | init | systemctl |
定时任务 | cron | timer |
日志管理 | syslog | Systemd-journal |
还可以 设置环境变量,系统挂载,远程主机管理
systemd 可以管理各种各样的服务,为了区分,他给每个不同的服务取了不同的后缀名
[root@139 ~]# systemctl -t helpAvailable unit types:servicesocketbusnametargetsnapshotdevicemountautomountswaptimerpathslicescope
文件扩展名 | 作用 | 文件扩展名 | 作用 |
---|---|---|---|
.service | 用于定义系统服务 | .snapshot | 管理系统快照 |
.target | 模拟实现运行级别 | .swap | Swap设备 |
.device | 定义内核识别设备 | .automount | 自动挂载点 |
.mount | 文件系统挂载点 | .path | 监控文件/目录 |
.socket | 进程间通信使用socket文件 | .scope | 外部线程 |
.timer | 定时器 | .slice | 分层次管理系统进程 |
Systemd 基本命令
基础命令 | 作用 |
---|---|
systemctl,systemctl List-units | 查看已经激活的单元 |
systemctl --Failed | 查看运行失败的单元 |
systemctl List-unit-files | 查看所有可用的单元,以及是否开机启动 |
systemctl help | 查看单元的帮助手册页 |
systemctl daemon-reload | 重新载入 systemd |
systemctl start <单元> | 激活单元 |
systemctl stop <单元> | 停止单元 |
systemctl restart <单元> | 重启单元 |
systemctl status <单元> | 输出单元运行状态 |
systemctl is-enable | <单元>检测单元是否自动启动 |
systemctl enable <单元> | 开机启动单元 |
systemctl enable --Now <单元> | 设置单元开机启动并且立即启动 |
systemctl disable <单元> | 取消开机自动启动 |
systemctl mask <单元> | 禁用一个单元 |
systemctl unmask <单元> | 取消禁用某个单元 |
查看系统的启动级别
[root@139 ~]# ll /etc/rc.dtotal 36drwxr-xr-x. 2 root root 4096 Sep 14 18:34 init.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc0.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc1.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc2.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc3.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc4.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc5.ddrwxr-xr-x. 2 root root 4096 Aug 24 10:58 rc6.d-rw-r--r-- 1 root root 473 Apr 26 01:19 rc.local
进入每一个rcX,都能看到在这个启动级别下,启动的服务列表
[root@139 ~]# cd /etc/rc.d/rc3.d[root@139 rc3.d]# lltotal 0lrwxrwxrwx. 1 root root 20 Feb 22 2019 K50netconsole -> ../init.d/netconsolelrwxrwxrwx. 1 root root 17 Feb 22 2019 K90network -> ../init.d/networklrwxrwxrwx 1 root root 28 Jun 3 14:41 S20cloudresetPwdAgent -> ../init.d/cloudresetPwdAgentlrwxrwxrwx 1 root root 34 Jun 3 14:41 S20cloudresetPwdUpdateAgent -> ../init.d/cloudresetPwdUpdateAgentlrwxrwxrwx 1 root root 24 Feb 22 2019 S50multi-queue-hw -> ../init.d/multi-queue-hwlrwxrwxrwx 1 root root 19 Feb 22 2019 S98denyhosts -> ../init.d/denyhosts
在centos6中查询所在的启动模式
runlevel
进入指定的模式
init 模式表示号数
--- | SysVint | Systemd |
---|---|---|
关闭系统 | 0 | runlevel0.target,poweroff.terget |
单用户模式 | 1,s,single | runlevel1.target,rescue.terget (rescue急救模式) |
多用户模式 | 2 | runlevel2.target,multi-user.target |
多用户带网络模式 | 3 | runlevel3.target,multi-user.target |
多用户,网络模式,图像化 | 5 | runlevel5.target,graphical.terget |
重启 | 6 | runlevel6.target,reboot.terget |
查看当前系统所在的启动级别
[root@139 rc3.d]# systemctl get-default multi-user.target
改变启动级别慎用,需要reboot才能生效
[root@139 rc3.d]# systemctl set-default multi-user.targetRemoved symlink /etc/systemd/system/default.target.Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.它是创建了一个连接
永久性的修改默认的启动级别修改这个配置文件 /etc/inittab
防火墙 firewalld在centos7中 firewadlld和iptables共存firewalld 底层调用的iotablesfirewalld使用区域管理
centos7上的9个区域
[root@139 rc3.d]# ls /usr/lib/firewalld/zones/block.xml # (阻塞区域)任何传入网络的数据包都将被阻止dmz.xml # (隔离区域) 直选择接受传入的网络链接drop.xml # (丢弃区域) 任何传入网络的连接都被拒绝external.xml # (外部区域) 不相信网络上的其他计算机不会损伤你的计算机,只选择接受传入网络连接home.xml # (家庭区域) 相信网络上的其他计算机不会损伤你的计算机internal.xml # (内部区域) 相信网络上的其他计算机,不会损伤你的计算机,只选择接受传入的网络连接public.xml # (公共区域)不相信网络上的任何计算机,只根据配置选择接受网络连接trusted.xml (信任区域) 所有的网络连接都可以接受work.xml # (工作区域) 相信网络上的其他计算机不会损伤你的计算机
家庭网络模式,相信网络上的计算机,安全系数低
[root@139 zones]# cat home.xml <?xml version="1.0" enCoding="utf-8"?><zone> <short>Home</short> <description>For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="mdns"/> <service name="samba-clIEnt"/> <service name="dhcpv6-clIEnt"/></zone>
默认使用的 public.xml 在公共网络上使用,不相信网络上的任意一个计算机器
启动防火墙[root@139 zones]# systemctl start firewalld.service
查看[root@139 zones]# [root@139 zones]# systemctl start firewalld.service-bash: [root@139: command not found[root@139 zones]# systemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; Disabled; vendor preset: enabled) Active: active (running) since Sun 2019-09-15 17:07:43 CST; 22s ago Docs: man:firewalld(1) Main PID: 4461 (firewalld) CGroup: /system.slice/firewalld.service └─4461 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopIDSep 15 17:07:42 139.9.92.235 systemd[1]: Starting firewalld - dynamic firewall daemon...Sep 15 17:07:43 139.9.92.235 systemd[1]: Started firewalld - dynamic firewall daemon.
查看防火墙使用的默认区域 -- public (active)[root@139 zones]# firewall-cmd --List-allpublic (active) target: default icmp-block-inversion: no interfaces: eth0 sources: # 控制访问我的源ip的限制 services: dhcpv6-clIEnt ssh # 本机哪些服务对外开放,仅这两个服务提供外部访问 ports: # 对外提供的端口 protocols: # 对外开放的协议 masquerade: no forward-ports: # 目的端口的转发 source-ports: # 源 端口的转发 icmp-blocks: # rich rules:# 更高级配置,如只允许某一个ip访问
更改默认区域[root@139 zones]# firewall-cmd --set-default-zone=homesuccess再次查看[root@139 zones]# firewall-cmd --List-allhome (active) target: default
firewalld中的区域与接口一个网卡的接口,只能属于一个zone,不能同属于多个zone
1个zone 可以有多个网卡接口
任何配置了一个网卡接口的区域,都是活跃区域
查看本机的网卡接口
[root@139 zones]# ip a# 本地回环网卡1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNowN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valID_lft forever preferred_lft forever inet6 ::1/128 scope host valID_lft forever preferred_lft forever2: eth0: <broADCAST,MulTICAST,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:d6:74:91 brd ff:ff:ff:ff:ff:ff inet 192.168.0.32/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0 valID_lft 81533sec preferred_lft 81533sec inet6 fe80::f816:3eff:fed6:7491/64 scope link valID_lft forever preferred_lft forever
查看网卡接口现在属于哪个区域[root@139 zones]# firewall-cmd --get-active-zonespublic (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-clIEnt ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
可以看到,eth0,现在属于 默认的public区域
将网卡接口转移到其他区域[root@139 zones]# firewall-cmd --zone=home --change-interface=eth0The interface is under control of NetworkManager,setting zone to 'home'.success再次查看现在活跃的区域,发现home替换了pulic,因为,配置了网卡接口的区域肯定是活跃的区域[root@139 zones]# firewall-cmd --get-active-zoneshome interfaces: eth0
firewalld防火墙的端口配置规则及添加白名单默认情况下,打开防火墙后从服务器往外随意发送数据,但是任何进入服务器方向的数据都会被墙掉
其实开放了这个端口,就等于让占用这个端口的服务对外提供服务
接下来设置白名单:
配置指定服务对外提供服务配置指定端口对外开放配置指定ip访问机器[root@139 bin]# firewall-cmd --List-allpublic (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-clIEnt ssh # 配置了 dhcpv6-clIEnt,及ssh(允许远程登录) ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
添加对外提供服务的端口号# 查看机器上对外提供服务的端口,最下面9998端口是服务器上对外提供服务应用程序# 默认情况下,通过浏览器是访问不到它的,会被墙掉,需要把这个端口添加到白名单才能访问[root@139 bin]# ss -nlutpNetID State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:68 *:* users:(("dhclIEnt",pID=3790,fd=6))udp UNCONN 0 0 192.168.0.32:123 *:* users:(("ntpd",pID=3718,fd=21))udp UNCONN 0 0 127.0.0.1:123 *:* users:(("ntpd",fd=18))udp UNCONN 0 0 *:123 *:* users:(("ntpd",fd=16))udp UNCONN 0 0 fe80::f816:3eff:fed6:7491%eth0:123 :::* users:(("ntpd",fd=22))udp UNCONN 0 0 ::1:123 :::* users:(("ntpd",fd=19))udp UNCONN 0 0 :::123 :::* users:(("ntpd",fd=17))tcp ListEN 0 128 *:22 *:* users:(("sshd",pID=4185,fd=3))tcp ListEN 0 50 :::9998 :::* users:(("java",pID=4939,fd=203))tcp ListEN 0 1024 :::9999 :::* users:(("java",fd=202))tcp ListEN 0 50 :::7473 :::* users:(("java",fd=208))tcp ListEN 0 128 :::22 :::* users:(("sshd",fd=4))# 为public域添加允许对外提供的端口[root@139 bin]# firewall-cmd --zone=public --add-port=9998/tcpsuccess# 再次查看[root@139 bin]# firewall-cmd --List-allpublic (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-clIEnt ssh ports: 9998/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: # 不需要重启服务,
移除白名单中的端口[root@139 bin]# firewall-cmd --zone=public --remove-port=端口号
通过这种方式添加的配置,是临时的,重启服务后,配置会消失
永久生效[root@139 bin]# firewall-cmd --zone=public --add-port=9998/tcp --permanent (permanent永久的)[root@139 bin]# firewall-cmd --zone=public --remove-port=端口号 --permanent
firewalld防火墙的配置规则及添加服务白名单如果服务器上的应用程序是以服务的形式存在的,想让他对它提供服务,仅仅需要将它添加到服务的白名单就行
其实服务的白名单规则,和上面的直接开放端口是一样的,只不过把端口包装成服务更容易让人理解
查看系统上服务的xml配置文件
[root@139 zones]# ls /usr/lib/firewalld/services/amanda-clIEnt.xml elasticsearch.xml jenkins.xml MysqL.xml puppetmaster.xml syncthing-gui.xmlamanda-k5-clIEnt.xml freeipa-ldaps.xml kadmin.xml nfs3.xml quassel.xml syncthing.xmlbacula-clIEnt.xml freeipa-ldap.xml kerberos.xml nfs.xml radius.xml synergy.xmlbacula.xml freeipa-replication.xml kibana.xml nmea-0183.xml redis.xml syslog-tls.xmlbgp.xml freeipa-trust.xml klogin.xml nrpe.xml RH-Satellite-6.xml syslog.xmlbitcoin-rpc.xml ftp.xml kpasswd.xml ntp.xml rpc-bind.xml telnet.xmlbitcoin-testnet-rpc.xml ganglia-clIEnt.xml kprop.xml openvpn.xml rsh.xml tftp-clIEnt.xmlbitcoin-testnet.xml ganglia-master.xml kshell.xml ovirt-imageio.xml rsyncd.xml tftp.xmlbitcoin.xml git.xml ldaps.xml ovirt-storageconsole.xml samba-clIEnt.xml tinc.xmlceph-mon.xml gre.xml ldap.xml ovirt-vmconsole.xml samba.xml tor-socks.xmlceph.xml high-availability.xml libvirt-tls.xml pmcd.xml sane.xml transmission-clIEnt.xmlcfengine.xml https.xml libvirt.xml pmproxy.xml sips.xml upnp-clIEnt.xmlcondor-collector.xml http.xml managesIEve.xml pmwebAPIs.xml sip.xml vdsm.xmlctdb.xml imaps.xml mdns.xml pmwebAPI.xml smtp-submission.xml vnc-server.xmldhcpv6-clIEnt.xml imap.xml minIDlna.xml pop3s.xml smtps.xml wbem-https.xmldhcpv6.xml ipp-clIEnt.xml mongodb.xml pop3.xml smtp.xml xmpp-bosh.xmldhcp.xml ipp.xml mosh.xml postgresql.xml snmptrap.xml xmpp-clIEnt.xmldns.xml ipsec.xml mountd.xml privoxy.xml snmp.xml xmpp-local.xmldocker-registry.xml ircs.xml mssql.xml proxy-dhcp.xml spIDeroak-lansync.xml xmpp-server.xmldocker-swarm.xml irc.xml ms-wbt.xml ptp.xml squID.xml zabbix-agent.xmldropBox-lansync.xml iscsi-target.xml murmur.xml pulseaudio.xml ssh.xml zabbix-server.xml
随便找一个打开
[root@139 services]# cat ssh.xml <?xml version="1.0" enCoding="utf-8"?><service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provIDes secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface,enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/></service>
其实可以看到,服务中有一个配置添加的就是端口的信息,把服务添加到白名单 == 把服务占用的端口添加到白名单
添加服务到白名单把http服务添加到白名单中,开放80端口!!! [root@139 services]# firewall-cmd --zone=public --add-service=http
移除服务[root@139 services]# firewall-cmd --zone=public --remove-service=http
同样想持久话,添加 -permanent
ip白名单[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9200" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9200" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9300" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="211.123.123151" port protocol="tcp" port="9998" accept"success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="localhost" port protocol="tcp" port="9998" accept"Error: INVALID_ADDR: localhost[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="9998" accept"success [root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --reload success[root@ecs-t6-large-2-linux-20190918000015 ~]# firewall-cmd --List-all
总结 以上是内存溢出为你收集整理的拓展 centos 7全部内容,希望文章能够帮你解决拓展 centos 7所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)