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. Linux免密登陆配置(互信配置)

    Linux免密登陆配置(互信配置) 1.生成当前用户的秘钥文件 [oracle@localhost .ssh]$ ssh-keygen -t rsa 2.配置远程登录用户的公钥文件 将公钥文件拷贝至另 ...

  2. 10.Linux防火墙iptables之SNAT与DNAT

    Linux防火墙iptables之SNAT与DNAT 目录 Linux防火墙iptables之SNAT与DNAT SNAT策略及应用 SNAT策略概述 SNAT策略典型应用环境 SNAT策略原理 SN ...

  3. Node.js精进(3)——流

    在 JavaScript 中,一般只处理字符串层面的数据,但是在 Node.js 中,需要处理网络.文件等二进制数据. 由此,引入了Buffer和Stream的概念,两者都是字节层面的操作. Buff ...

  4. 这不会又是一个Go的BUG吧?

    hello,大家好呀,我是小楼. 最近我又双叒叕写了个BUG,一个线上服务死锁了,不过幸亏是个新服务,没有什么大影响. 出问题的是Go的读写锁,如果你是写Java的,不必划走,更要看看本文,本文的重点 ...

  5. 关于升级最新版本node.js你知道多少?

    1.先检查版本 node -v 2.清除缓存 npm cache clean -f 3.全局安装管理node.js版本工具 npm install -g n 4.确认安装最新版本 n stable 5 ...

  6. Stream常用操作以及原理探索

    Stream常用操作以及原理 Stream是什么? Stream是一个高级迭代器,它不是数据结构,不能存储数据.它可以用来实现内部迭代,内部迭代相比平常的外部迭代,它可以实现并行求值(高效,外部迭代要 ...

  7. UiPath文本操作Set Text的介绍和使用

    一.Set Text的介绍 向输入框/文本框写入文本的一种操作 二.Set Text在UiPath中的使用 1.打开设计器,在设计库中新建一个Sequence,为序列命名及设置Sequence存放的路 ...

  8. CPI教程-异步接口创建及使用

    CPI教程-异步接口创建及使用 create by yi 转载请注明出处 先简单介绍一下同步接口和异步接口 什么是同步接口 同步接口的意思就是发送方发送Message后,接口方处理完成后会立刻返回执行 ...

  9. CANN算子:利用迭代器高效实现Tensor数据切割分块处理

    摘要:本文以Diagonal算子为例,介绍并详细讲解如何利用迭代器对n维Tensor进行基于位置坐标的大批量数据读取工作. 本文分享自华为云社区<CANN算子:利用迭代器高效实现Tensor数据 ...

  10. Unsupervised Person Re-identification by Soft Multilabel Learning

    简介: 这是一篇19年CVPR的跨域无监督Re-ID论文,在Market1501和DukeMTMC-reID上分别达到了67.7%和67.1%的rank-1精度,算是一篇将准确度刷得比较高的论文了,在 ...