358 rhel7 ce

ansible 部署服务

dhcp nginx vanish haproxy 打印机服务

服务管理自动化

systemd与systemctl

systemctl 来管理systemd的对象(unit单元)

systemctl 显示服务单元

大致有以下几类

slice   (资源片段,与调优有关)
target (紧急模式之类,文本模式multi-user.target)
service (与服务有关)
socket (进程通信)

systemctl 通过单元配置文件来管理

[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset>
Active: active (running) since Sat 2022-08-27 13:07:05 CST; 1min 18s ago [root@localhost ~]# cat /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.target after和before启动顺序
Wants=sshd-keygen.target 依赖关系 [Service]
Type=notify
EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config 环境变量所在的文件
EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY 调用进程 ($OPTIONS $CRYPTO_POLICY 调用环境变量)
ExecReload=/bin/kill -HUP $MAINPID (systemctl reload sshd = /bin/kill -HUP $MAINPID[sshd pid])
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target
[root@localhost ~]# [root@localhost ~]# killall -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
[root@localhost ~]#
HUP信号量 让进程重新读取配置文件
/bin/kill -HUP $MAINPID restart 会使mainpid发生变化
reload不会

systemctl 要控制单元,必须依赖于单元配置文件

改了单元配置文件需要 systemctl daemon-reload

1.自定义了单元配置文件:mysql你用二进制安装

2.调优的时候,需要改动这些文件

3.修改某些服务的启动方式的参数。docker服务

systemctl enable [service]

enable时会创建链接文件

[root@localhost ~]# systemctl enable sshd
Created symlink /etc/systemd/system/multi-user.target.wants/sshd.service → /usr/lib/systemd/system/sshd.service.

disable则删除了

服务日志的查看

日志信息

1.服务本身自己的日志输出 服务自定的定义

2.systemd-journal 保存在内存中

systemctl status systemd-journald

查看journald

[root@localhost ~]# journalctl -p err
-- Logs begin at Sat 2022-08-27 13:07:00 CST, end at Sat 2022-08-27 13:37:29 CS>
Aug 27 13:07:04 localhost.localdomain kernel: piix4_smbus 0000:00:07.3: SMBus H>
Aug 27 13:07:04 localhost.localdomain smartd[1047]: DEVICESCAN failed: glob(3) >
Aug 27 13:07:04 localhost.localdomain smartd[1047]: In the system's table of de>
Aug 27 13:07:06 localhost.localdomain systemd[1]: Failed to start Crash recover>
Aug 27 13:17:03 localhost.localdomain systemd[1]: Failed to start dnf makecache.
lines 1-6/6 (END)
查看日志级别 [root@localhost ~]# journalctl -p err -u httpd
-- Logs begin at Sat 2022-08-27 13:07:00 CST, end at Sat 2022-08-27 13:37:29 CS>
-- No entries --
lines 1-2/2 (END) -f会实时监控 [root@localhost ~]# journalctl --sinc "13:00:00" --unit "13:03:00"
systemctl status sshd -l

服务启动依赖项

[root@localhost ~]# systemctl list-dependencies graphical.target
graphical.target
● ├─accounts-daemon.service
● ├─gdm.service
● ├─rtkit-daemon.service
● ├─systemd-update-utmp-runlevel.service
● ├─udisks2.service
● └─multi-user.target
● ├─atd.service
● ├─auditd.service
● ├─avahi-daemon.service
● ├─crond.service
● ├─cups.path
● ├─dbus.service
● ├─dnf-makecache.timer
● ├─firewalld.service
● ├─irqbalance.service
● ├─kdump.service
● ├─ksm.service
● ├─ksmtuned.service
● ├─libstoragemgmt.service
● ├─libvirtd.service
● ├─mcelog.service
● ├─mdmonitor.service
lines 1-23

服务屏蔽

systemctl mask httpd

将单元配置文件指向/dev/null

systemctl status/start/stop/restart/reload/disable/enable/mask/unmask/list-dependency/journalctl/单元配置文件

配置网络接口

[root@localhost multi-user.target.wants]# nmcli connection show 'ens160'
connection.id: ens160
connection.uuid: 25d20a42-f84e-4c51-8df9-bfcefa11b1b0
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: ens160
connection.autoconnect: no
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1655383585

device指的物理设备

connection连接指的是它所关联的设备的配置集合

配置设备的网络信息,看他是否关联了连接

将网卡的配置永久保存在连接里
[root@localhost multi-user.target.wants]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=25d20a42-f84e-4c51-8df9-bfcefa11b1b0
DEVICE=ens160
ONBOOT=no

启动时加载文件

对于一个设备可以有多套连接,每个连接针对不同的配置。只有一个连接处于active

改网络设备,先确定设备有哪些,和网络设备有关联的连接

[root@localhost multi-user.target.wants]# nmcli device
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
ens160 ethernet disconnected --
lo loopback unmanaged --
virbr0-nic tun unmanaged --

没有连接则需要创建连接关联设备

[root@localhost multi-user.target.wants]# nmcli  connection  add  con-name eth1 type ethernet ifname ens160 autoconnect no
Connection 'eth1' (930ef42d-0377-48cb-8e16-52ad91ef8857) successfully added.
[root@localhost multi-user.target.wants]# ll /etc/sysconfig/network-scripts/ifcfg-eth1
-rw-r--r--. 1 root root 279 Aug 27 14:33 /etc/sysconfig/network-scripts/ifcfg-eth1
[root@localhost multi-user.target.wants]#

持久化保存配置

ifname设备名

con-name连接名

方式一:nmcli

方式二:修改配置文件

注意

nmcli connection modify 之后需要up激活

ipv4.gateway 不要重复设置,两个连接两个不同的gateway,两个不同的设备,重复设置gateway。那么默认路由则会有两条。没有意义

没有环境做这个实验。弱化这一块,提供思路但是我并未实践
假设我的ip为10.10.10.22 我已经可也通外网了,我还得需要访问内部网络192.168.10.0 添加特定路由
ip route add 192.168.10.0/24 dev eth2
添加ip
nmcli connection modify eth2 +ipv4.address 192.168.10.1/24 (这样也会添加路由)
配置子接口
网络工程师会给你搞定网络的事。这里主要时说,让你不要重复两个网关。

dns可以写多个。但不能写太多

不管几个网卡配了dns

所有dns配置都会写到 /etc/resolv.conf 这个文件内

DNS1

DNS后面必须加数字

网卡不能生效的问题:连接和设备关联不上,配置ip不生效

方式1:通过MAC地址强关联 HWADDR=52:54:00:07:a1:40

方式2:删除连接重新开始建

修改设备名

通过MAC强绑定 修改device

DEVICE=supermaohero

HWADDR=00:0c:29:a9:3d:60

supermao: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
ether 00:0c:29:a9:3d:60 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ansible 配置网络

rhel-system-roles 提供一个修改网络的系统 rhel-system-roles.network

对于别人提供的role你要用

你就需要提供合适变量就可以完成工作

下载 rhel-system-roles.network

[root@localhost rhel-system-roles.network]# pwd
/usr/share/ansible/roles/rhel-system-roles.network
[root@localhost rhel-system-roles.network]# ll README.md
-rw-r--r--. 1 root root 34346 Aug 28 2021 README.md
[root@localhost rhel-system-roles.network]#

运行playbook

红帽已经给你把这个角色写好了,只用提供相关变量

rh358 001 Linux网络与systemd设置的更多相关文章

  1. linux基础-第十四单元 Linux网络原理及基础设置

    第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...

  2. 设置windows网络连接别名和linux网络连接别名

    windows网络连接别名 C:\Windows\System32\drivers\etc目录下的hosts文件中添加 127.0.0.1 localhost 192.168.1.100 proxy. ...

  3. Python编写的Linux网络设置脚本,Debian Wheezy上测试通过

    hon编写的Linux网络设置脚本,Debian Wheezy上测试通过       阿里百川梦想创业大赛,500万创投寻找最赞的APP 技术细节参见Linux网络设置高级指南 注意事项参见程序注释 ...

  4. Linux网络设置高级指南

    from:http://www.oschina.net/question/23734_117144 Linux网络设置高级指南 本文面向的是被Linux复杂的有线无线网络架构弄得头昏脑胀:或者被网上半 ...

  5. Linux网络服务01——Linux网络基础设置

    Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...

  6. Linux网络设置(第二版) --Linux网络设置

    Linux网络设置 --网络配置文件与命令 个 附- 服务程序可以不使用固定端口,但是一般对外公开的WebServer不会改变端口,但是像SSH一般推荐更改,可以回避扫描 nmap [IP地址] #扫 ...

  7. Linux网络设置(第二版) --互联网寻址过程

    Linux网络设置 --互联网寻址过程 1.TCP/IP与OSI参考模型比较 TCP/IP OSI 物理层 网卡 数据链路层 * MAC地址 网络层 IP,ICMP,ARP协议 传输层 TCP,UDP ...

  8. Vitrual Box设置linux网络连接到外网

    Vitrual Box设置linux网络连接到外网 在虚拟机上安装好linux系统之后,经常会碰到ping不通www.baidu.com的情况,此时的情况多半是网络配置上的错误,linux在网络配置有 ...

  9. linux网络设置和虚拟机克隆转移之后网卡找不到

    linux网络设置和虚拟机克隆转移之后Error:No suitable device found:no device found for connection 'System eth0'问题解决   ...

随机推荐

  1. vivo大规模 Kubernetes 集群自动化运维实践

    作者:vivo 互联网服务器团队-Zhang Rong 一.背景 随着vivo业务迁移到K8s的增长,我们需要将K8s部署到多个数据中心.如何高效.可靠的在数据中心管理多个大规模的K8s集群是我们面临 ...

  2. .Net CLR GC动态获取函数头地址,C++的骚操作(慎入)

    前言: 太懒了,从没有在这里正儿八经的写过文章.看到一些人的高产,真是惭愧.决定稍微变得不那么懒.如有疏漏,请指正. .net的GC都谈的很多了,本篇主要是剑走偏锋,聊聊一些个人认为较为核心的细节方面 ...

  3. NC200211 装备合成

    NC200211 装备合成 题目 题目描述 牛牛有 \({x}\) 件材料 \({a}\) 和 \({y}\) 件材料 \({b}\) ,用 \({2}\) 件材料 \({a}\) 和 \({3}\) ...

  4. Android高仿网易云音乐-启动界面实现和动态权限处理

    效果 实现分析 基本上没有什么难点,就是布局,然后显示用户协议对话框,动态处理权限,判断是否显示引导界面,是否显示广告界面等. 布局 <?xml version="1.0" ...

  5. 最优化:凸集、凸函数、KKT条件极其解释

    1.凸集(大概定义) 2.凸函数  3.KK条件      

  6. 树莓派实战:微信机器人(itchat实现)

    背景 楼主有一台树莓派4B开发板(8G内存版),是目前的顶配机型.这一年来的业余时间,除了写Java.架构方面的文章,也陆续折腾了不少树莓派上的好玩小项目,在此新开一个树莓派实战的文章系列,分享给粉丝 ...

  7. 常用API(Java)

    常用API Object toString方法 场景:当我们使用toString方法想要输出对象变量时,官方提供的toString方法会直接输出对象所在的地址,而不是我们想要的对象变量,所以我们要把t ...

  8. Solution -「Luogu 4135」作诗

    写在前面 & 前置芝士   好像是好久没有打理 blog 了.感觉上学期是有点颓.嘶,初三了好好冲一次吧.   那么回到这道题目.你会分块就能看懂. 题目大意   先挂个来自洛谷的 link. ...

  9. [mybatis]mybatis日志的使用和分页功能的实现

    日志 Mybatis 通过使用内置的日志工厂提供日志功能.内置日志工厂将会把日志工作委托给下面的实现之一: SLF4J Apache Commons Logging Log4j 2 Log4j JDK ...

  10. js 设置滚动条位置为底部

     if (document.getElementById("")) {             document.getElementById("").scro ...