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. Java 多线程共享模型之管程(下)

    共享模型之管程 wait.notify wait.notify 原理 Owner 线程发现条件不满足,调用 wait 方法,即可进入 WaitSet 变为 WAITING 状态 BLOCKED 和 W ...

  2. WindowsServer评估版转为正式版并激活

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年5月16日. 一般从官网下载的Windows Server版本都是评估试用版本.这时候想转为正式版本,就需要使用转换激活代码.请参照不 ...

  3. Centos使用crontab自动定时备份mysql的脚本

    在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了3个理由. 1.防止数据丢失 2.防止数据改错了,可以用来恢复 3.方便给客户数据 以 上几点告诉我们要经常备份,当然我今天给大家 ...

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

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

  5. 基于.NetCore开发博客项目 StarBlog - (13) 加入友情链接功能

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  6. 用Python实时获取Steam特惠游戏数据,我看看谁的钱包还有钱

    前言 大家好鸭, 我是小熊猫 Steam大家应该不陌生吧?不知道的话就让我们来了解一下吧~(一下简称"S") S是由美国电子游戏商Valve于2003年9月12日推出的数字发行平台 ...

  7. NC16564 [NOIP2012]借教室

    NC16564 [NOIP2012]借教室 题目 题目描述 ​ 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借 ...

  8. k8s之有状态服务部署基石(基础知识)

    PV&PVC&HeadlessService 4.1.什么是无状态/有状态服务? 无状态服务: 1.没有实时的数据需要存储 (即使有,也是静态数据) 2.服务集群网络中,拿掉一个服务后 ...

  9. Codeforces Round #789 (Div. 2)

    题集链接 A. Tokitsukaze and All Zero Sequence 题意 Tokitsukaze 有一个长度为 n 的序列 a. 对于每个操作,她选择两个数字 ai 和 aj (i≠j ...

  10. Vue 路由懒加载, VueRouter一步完成Vue的路由懒加载 一行代码搞定懒加载

    Vue Router路由配置中的component里面配置即可 1 // 路由懒加载的方式加载组件 2 3 component: () => import('@/views/Detail'), ...