我正在帮助运营一个网站,该网站因政治原因被之前曾尝试阻止 Telegram (RosKomNadzor)的同一俄罗斯机构阻止。这不是第一次发生,以前我们只会更改域,但这有其自身的影响和读者流失。
他们只阻止域名,而不是 IP(无论如何我们都在使用 Cloudflare)。我们正在使用 HTTPS,但 ISP 仍然能够以某种方式从他们的客户端获取有关我们的请求的 DNS 信息。从技术上讲,我们可以建议我们的读者配置他们的/etc/hosts,但这不是一个可行的选择。
是否可以在我们的服务器端做一些事情来加密/混淆 DNS 信息,而无需用户进行任何更改/安装软件?还是等待 DNS over HTTPS 成为我们唯一的选择?
来自俄罗斯的爱。
背景:我获得了对根分区为 5G(sda 总共 25G)的 Ubuntu 20.04 VPS 的 SSH 访问权限。VPS 提供商说 Linux 管理员可以调整/dev/sda1分区大小。
$ sudo fdisk -l && df -h
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe1f10bb0
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 10483711 10481664 5G 83 …Run Code Online (Sandbox Code Playgroud) 我想备份我的 MySQL 数据库,但我不小心使用了mysqlcommand 而不是mysqldump. 所以我执行了:
/usr/local/mysql5/bin/mysql -u db_username -p db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)
代替:
/usr/local/mysql5/bin/mysqldump -u db_username -p db_name > db_backup.sql
Run Code Online (Sandbox Code Playgroud)
我被要求提供数据库密码,之后什么也没发生。这个过程只是没有反应,我不得不杀死它。这会损坏我的数据库吗?
我有一个 raid5 阵列,每月对其运行一次检查。经过配置,检查从 01:00 开始运行 6 小时,然后停止。接下来的晚上,它将继续检查 6 个小时,直到完成。
我遇到的问题是,有时当 mdcheck 尝试停止检查运行时,它会挂起。一旦发生这种情况,您可以从数组中读取数据,但任何写入尝试都会导致进程挂起。
数组状态如下:
md0 : active raid5 sdb1[4] sdc1[2] sdd1[5] sde1[1]
8790398976 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
[========>............] check = 44.2% (1296999956/2930132992) finish=216065.8min speed=125K/sec
bitmap: 0/6 pages [0KB], 262144KB chunk
Run Code Online (Sandbox Code Playgroud)
永远check = 44.2% (1296999956/2930132992)不会前进或停止。
从/usr/share/mdadm/mdcheck脚本中可以看出,每 2 分钟,直到结束时间,它都会读取/sys/block/md0/md/sync_completed该位置并将其保存在存储在目录中的文件中/var/lib/mdcheck/。在该目录中查看该文件,该文件的日期为停止前 2 分钟,值为2588437040. sync_completed的当前值2593999912表示一切在停止前 2 分钟仍在工作。
运行lsof该mdcheck进程会发现以下内容:
mdcheck 23887 root 1w …Run Code Online (Sandbox Code Playgroud) 我目前可以这样做:
ssh 12.34.56.78 -L 8888:localhost:8000
然后我可以打开本地浏览器到 localhost:8888 并查看该应用程序在我的服务器中运行,地址为 12.34.56.78:8000。
我想避免输入该转发命令,而是将该配置放在我的 ssh 配置文件中。
目前我有这个:
Host myhost
User myuser
Hostname 12.34.56.78
IdentityFile ~/.ssh/id_rsa
LocalForward 8888 12.34.56.78:8000
Run Code Online (Sandbox Code Playgroud)
我认为它会工作相同,但是当我myhost像平常一样 ssh 进入,然后尝试打开浏览器到 localhost:8888 时,我无法再看到该应用程序正在运行,并且我在 myhost 控制台中收到以下消息:
channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
Run Code Online (Sandbox Code Playgroud)
我想我可以添加一个别名来运行 ssh 命令并完成它,但我希望在我的配置文件中正确设置这个,并且,如果能够看到我的应用程序在浏览器中运行而无需 ssh进入我的主机可以实现可能是一个巨大的优势。
任何人都可以帮忙解决这个问题吗?
我想在每次启动服务之前执行一个脚本。
我知道我可以ExecStartPre在服务定义文件内部使用,但我想知道是否可以在不编辑来自服务包的文件的情况下实现。
该脚本是一个简单的命令,完成后退出,它创建主服务使用的文件(它从安全存储中获取 TLS 证书和密钥)。
所以在 docker-desktop 到处出现问题后,我才开始深入研究 minikube。我正在关注https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/,但我遇到了问题。
我完全按照教程的说明进行了操作:
我验证了所有内容都可用,并最终得到以下输出kubectl get ingress:
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress <none> hello-world.info 192.168.49.2 80 87m
Run Code Online (Sandbox Code Playgroud)
然而,当尝试访问 hello-world.info(无论是在我的主机文件中设置,还是直接访问 192.168.49.2,仅用于连接测试)时,除了请求超时之外,我什么也得不到。我的入口控制器的日志也没有提及任何失败的连接尝试。
通过 手动启动隧道时,连接工作正常minikube service ingress-nginx-controller-admission --namespace=kube-system。
这是输出minikube profile list:
|----------|-----------|---------|--------------|------|---------|---------|-------|
| Profile | VM Driver | Runtime | IP | Port | Version | Status | Nodes |
|----------|-----------|---------|--------------|------|---------|---------|-------|
| minikube | docker | docker | 192.168.49.2 | 8443 | v1.20.2 | Running …Run Code Online (Sandbox Code Playgroud) 我无法找到任何有关如何强制 Dovecot 在证书更新时重新读取证书的文档。
此刻我正在做
/bin/systemctl restart dovecot
Run Code Online (Sandbox Code Playgroud)
有谁知道这是否会导致重新启动期间中断,或者 dovecot 是否干净地终止旧会话并允许使用新配置启动新会话?任何人都可以建议强制 dovecot 重新加载其 SSL 证书且影响最小的最佳实践吗?
我在远程桌面服务环境中有一堆会话主机。
如何禁用有关磁盘空间不足的警告?
当用户登录时,他们看到我警告会话主机的本地驱动器之一上本地磁盘的磁盘空间不足。
我不希望最终用户看到这个警告,因为我们有一个监控基础设施来处理这些问题。
是否可以删除警告?
我正在致力于将用于 GitLab CI/CD 构建和部署的 Docker 镜像集合从 Dockerhub 移植到 AWS 公共 ECR。除了我们用作 Docker-in-Docker 服务的标准 Docker 镜像之外,一切都按其应有的方式运行。从 Dockerhub 拉取时可以正常工作的相同镜像在从公共 ECR 拉取时无法登录。
.gitlab-ci.yml
build-push:
stage: package
image: public.ecr.aws/x/x
services:
- public.ecr.aws/x/docker-dind:20.10
Run Code Online (Sandbox Code Playgroud)
$ aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_DOCKER_REGISTRY_URL
> Logging in to Docker registry...
> error during connect: Post http://docker:2375/v1.24/auth: dial tcp: lookup docker on 8.8.8.8:53: no such host
Run Code Online (Sandbox Code Playgroud)
$ cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 …Run Code Online (Sandbox Code Playgroud)