问题列表 - 第5004页

GCP:通过代理在私有集群上运行 kubectl exec

我有一个带有私有 IP 的私有 kubernetes 集群。为了访问它,我设置了一个带有鱿鱼代理的堡垒主机。它看起来像这样:

My host -> bastion -> private cloud
Run Code Online (Sandbox Code Playgroud)

常规 kubectl 命令可以按预期抛出代理:

$ HTTPS_PROXY=socks5://127.0.0.1:1080 kubectl get pods 
No resources found.
Run Code Online (Sandbox Code Playgroud)

问题是当尝试 ssh 到 pod 时:

$ HTTPS_PROXY=socks5://127.0.0.1:1080 kubectl exec -it "some-pod" -- /bin/bash
error: error sending request: Post https://<master-ip>/api/v1/namespaces/ns/pods/some-pod/exec?command=%2Fbin%2Fbash&container=xxx&container=xxx&stdin=true&stdout=true&tty=true: EOF
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

proxy bastion google-kubernetes-engine

5
推荐指数
1
解决办法
3563
查看次数

AWS API Gateway Lambda 授权方 + 客户端证书

我正在评估使用客户端证书来提高我正在处理的应用程序的安全性。这一切都在 AWS 上运行,并通过带有附加 Lambda 授权方的 API 网关。

AWS 文档指出 API Gateway 不支持通过客户端证书进行身份验证,但允许您在后端进行身份验证,但文档并未提及使用 Lambda 授权方时会发生什么。

我的第一个赌注是它不会工作,因为 API Gateway 无法看到标头。但是当 API Gateway 处理证书的创建和存储时,它可能至少可以在数据流内部对等以获取允许 Lambda 授权器工作的标头数据。

在我的情况下,我想将客户端证书添加到我已经存在的基于令牌的授权中。

可以实现此设置,或者只能通过将令牌验证移动到后端来完成。

amazon-api-gateway client-certificate

6
推荐指数
1
解决办法
2057
查看次数

使用 tcpdump 捕获时如何查看数据包

在使用 tcpdump 捕获流量时如何查看流量。

当我使用 -w 时,它不会在捕获过程中显示数据包。

sudo tcpdump -i enp2s0 -w test.pcap
tcpdump: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C6 packets captured
7 packets received by filter
0 packets dropped by kernel
Run Code Online (Sandbox Code Playgroud)

tcpdump pcap

3
推荐指数
1
解决办法
3276
查看次数

将 Elastic Beanstalk 负载均衡器从经典升级到应用程序负载均衡器?

我知道如何按照迁移指南将经典负载均衡器升级为应用程序负载均衡器。

但是,当我尝试克隆 Beanstalk 环境并在该环境上执行迁移时,它仍然在环境的“配置”中显示为“经典”负载均衡器。

使用 Elastic Beanstalk 时如何从经典迁移到应用程序?

load-balancing amazon-web-services elastic-beanstalk

5
推荐指数
1
解决办法
1482
查看次数

使wireguard侦听多个端口

有没有办法让 Wireguar 监听多个端口?就像在 80,53 和 4444 上收听一样。

我希望在不运行多个电线保护单独接口的情况下实现这一点,以防止必须为同一事物创建不同的子网。

这背后的原因是为了确保我的服务器在公共网络上的最大可达性,有时会打开不同的端口。

如果软件中没有包含,我正在考虑用 iptable 做一些事情,但我不确定如何“重定向”这个端口。

我查看了wireguard文档,但无济于事。

iptables port wireguard

5
推荐指数
1
解决办法
2458
查看次数

后缀:name=domain.com type=MX 的名称服务错误:找不到主机,请重试

我被 Postfix MX 相关的问题困住了。

我刚刚将一个非常旧的 Centos 5 服务器迁移到 v7,所以我使用的是 postfix-2.10.1-7.el7.x86_64。我已经升级了旧的 postfix 配置(可能是这个地狱的原因)和其他似乎有效的补充内容:

  • postfix-perl-scripts-2.10.1-7.el7.x86_64
  • postgrey-1.34-12.el7.noarch
  • amavisd-new-2.11.1-1.el7.noarch
  • spamassassin-3.4.0-4.el7_5.x86_64
  • perl-Mail-SPF-2.8.0-4.el7.noarch
  • perl-Mail-DKIM-0.39-8.el7.noarch
  • dovecot-2.2.36-3.el7.x86_64

在经历了许多磨难之后,我认为除了烦人的 MX 相关问题外,我的大部分系统都在运行,如(来自 /var/log/maillog):

Mar 28 14:26:48 tormento postfix/smtpd[1021]: warning: Unable to look up MX host for spmailtechn.com: Host not found, try again
Mar 28 14:26:51 tormento postfix/smtpd[1052]: warning: Unable to look up MX host for inlumine.ual.es: Host not found, try again
Mar 28 14:31:38 tormento postfix/smtpd[1442]: warning: Unable to look up MX host for aol.com: Host not found, try again …
Run Code Online (Sandbox Code Playgroud)

postfix mx-record

3
推荐指数
1
解决办法
2万
查看次数

如何找出哪些 systemd 服务/单元是目标单元的一部分?

所以如果我运行,systemctl list-units --type=target我可以看到我机器上的所有目标单元。

但是,如果我想找到每个这些“伞形”目标单位下的服务和其他单位的列表,我该怎么做?

换句话说,如果我看到journalctl我有一个UNITxyz,我怎么知道那个单位属于哪个目标?

我在日志消息中看到“达到目标<target_name>”,但我很好奇导致达到该目标的日志消息和单位。

谢谢!

linux systemd

4
推荐指数
1
解决办法
2757
查看次数

服务器的物理安全

我在一家非营利组织工作,我们需要升级新服务器和 DC 周围的物理安全。我们无法确保整个房间的安全,也无法购买合适的服务器机架。解决方法是将设备放在一个三边都有墙的角落里,我们将使用某种带锁的安全门。然而,我正在努力寻找任何足以作为带锁安全门的东西。我在这里寻求有关该主题的资源和知识。如果这里有人了解负担得起的、非标准的、物理安全选项。

security physical-security

1
推荐指数
1
解决办法
91
查看次数

Ansible 条件 - 通配符匹配字符串

我在 Ansible 任务中有以下条件:

when: ec2_tag_Name == 'testhost01'
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是我想在ec2_tag_Name场上匹配通配符。

所以像这样

when: ec2_tag_Name == 'testhost*'
Run Code Online (Sandbox Code Playgroud)

目标是匹配诸如testhostx testhost12 testhostABCetc 之类的任何内容testhost,仅匹配字符串开头的任何内容。

这可能吗?似乎无法让它工作。

ansible ansible-playbook

11
推荐指数
2
解决办法
2万
查看次数

使用命名管道控制 BASH 中的远程 ssh 会话

我的问题主要基于此 /sf/ask/1573574201/?rq=1

我遵循上述问题,并且能够连接到服务器,如下所示:

mkfifo CMDs.txt
exec 7> CMDs.txt
Run Code Online (Sandbox Code Playgroud)

然后从另一个终端我连接到服务器,如下所示:

sshpass -p 'mypass' ssh -tt myuser@${IP} < CMDs.txt 
Run Code Online (Sandbox Code Playgroud)

会话已建立,但它不是交互式会话(它应该是)。但我可以通过将命令重定向到文件描述符 7 来将命令发送到远程服务器,如下所示:

echo "some command" >&7 
echo "some more command" >&7 
Run Code Online (Sandbox Code Playgroud)

这工作正常并显示我启动会话的另一个终端中的输出。我的目标是发送命令,并捕获变量中每个命令的输出,以便我可以在发送另一个命令之前对其进行分析。我认为通过阅读标准输出应该可以实现,但我无法弄清楚,因此发布了问题。我可以通过将输出重定向到文件中来捕获文件中的输出,如下所示:

sshpass -p 'mypass' ssh -tt myuser@${IP} < CMDs.txt >>outfile.txt
Run Code Online (Sandbox Code Playgroud)

也如参考问题中提到的,exec 7>&-应该终止会话,但它没有,那么在发送所有命令后如何终止会话?

ssh bash remote named-pipes file-descriptors

2
推荐指数
1
解决办法
3765
查看次数