AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-94158

Philip Couling's questions

Martin Hope
Philip Couling
Asked: 2022-08-21 02:22:27 +0800 CST

如何设置客户端 VPN 终端节点以使用 AWS DNS?

  • 1

我正在尝试允许 VPN 用户使用 Private Route53 DNS 条目。example.corp例如:在本地网络上发布 DNS 记录的私有托管区域。

目前我什至找不到正确的配置集来允许连接的客户端使用亚马逊的 DNS。

当前(简化)设置

客户端 VPN 端点被分配 CIDR 范围172.20.0.0/22。它有一个已配置的具有 CIDR 的目标网络关联172.20.254.0/24。

目标网络为空;意味着那里没有 EC2 实例等。但是它本身确实具有转发路由规则以允许流量到其他网络。通过“授权规则”控制对这些前进路线的访问。路由表只有一个条目说明172.20.0.0/16(整个 VPC)被转发到目标网络关联。

与 VPN 关联的安全组非常宽松,允许任何内容在172.20.0.0/16.

这种配置在没有 DNS 的情况下已经工作了一年多。我现在所做的唯一更改是启用 DNS。

更改 - 尝试启用 DNS

此页面告诉我 DNS 应该在网络范围 +2 上可用。我尝试将 VPN DNS 服务器设置为172.20.0.2and 172.20.254.0 (not at the same time)。但既不响应 DNS 请求,也不响应 ICMP ping。

为了让这个工作我尝试过:

  • 确保在 VPC 上设置了“DNS 解析”和“DNS 主机名”
  • 172.20.254.0/24为和都添加授权规则172.20.0.2/22。
  • 172.20.0.0/22为to添加路由表条目local

我应该如何设置客户端 VPN 终端节点以使用 AWS DNS?

domain-name-system
  • 0 个回答
  • 105 Views
Martin Hope
Philip Couling
Asked: 2021-07-26 07:38:49 +0800 CST

Terraform ECS 容量提供程序不会按需生成新的 ECS 实例

  • 0

从我在这里读到的内容, ECS 容量提供者应该(通常)通过将任务置于“Provisioning”状态并启动新的 EC2 实例来防止任务立即因资源限制而失败

这意味着,例如,如果您调用 RunTask API 并且由于资源不足(意味着没有活动实例具有足够的内存、vCPU、端口、ENI 和/或 GPU 来运行任务)而没有将任务放置在实例上),而不是立即失败,任务将进入配置状态(但是请注意,只有在您为容量提供程序启用托管扩展时才会转换到配置;否则,找不到容量的任务将立即失败,就像他们之前所做的那样)。

我已经设置了一个 ECS 集群,在 terraform 中具有自动缩放组和 ECS 容量提供程序。自动缩放组设置为min_size = 1并立即启动单个实例......所以我相信我的启动配置很好。

但是,当我通过 API 反复调用“RunTask”(带有 的任务memory=128)时,我得到的任务无法立即以 reason 启动RESOURCE:MEMORY。也没有新的实例启动。

我无法弄清楚我配置错误的地方。


这都是在 terraform 中设置的:

resource "aws_ecs_cluster" "ecs_cluster" {
  name = local.cluster_name


  setting {
    name  = "containerInsights"
    value = "enabled"
  }
  tags = var.tags
  capacity_providers = [aws_ecs_capacity_provider.capacity_provider.name]

  # I added this in an attempt to make it spin up new instance 
  default_capacity_provider_strategy {
    capacity_provider = aws_ecs_capacity_provider.capacity_provider.name
  }

}

resource "aws_ecs_capacity_provider" "capacity_provider" {
  name = "${var.tags.PlatformName}-stack-${var.tags.Environment}"

  auto_scaling_group_provider {
    auto_scaling_group_arn         = aws_autoscaling_group.autoscaling_group.arn
    managed_termination_protection = "DISABLED"

    managed_scaling {
      maximum_scaling_step_size = 4
      minimum_scaling_step_size = 1
      status                    = "ENABLED"
      target_capacity           = 100
    }
  }

  tags = var.tags
}

#Compute
resource "aws_autoscaling_group" "autoscaling_group" {
  name                      = "${var.tags.PlatformName}-${var.tags.Environment}"
  # If we're not using it, lets not pay for it
  min_size                  = "1"
  max_size                  = var.ecs_max_size
  launch_configuration      = aws_launch_configuration.launch_config.name
  health_check_grace_period = 60
  default_cooldown          = 30
  termination_policies      = ["OldestInstance"]
  vpc_zone_identifier       = local.subnets
  protect_from_scale_in     = false

  tag {
    key                 = "Name"
    value               = "${var.tags.PlatformName}-${var.tags.Environment}"
    propagate_at_launch = true
  }

  tag {
    key                 = "AmazonECSManaged"
    value               = ""
    propagate_at_launch = true
  }

  dynamic "tag" {
    for_each = var.tags
    content {
      key = tag.key
      propagate_at_launch = true
      value = tag.value
    }
  }

  enabled_metrics = [
    "GroupDesiredCapacity",
    "GroupInServiceInstances",
    "GroupMaxSize",
    "GroupMinSize",
    "GroupPendingInstances",
    "GroupStandbyInstances",
    "GroupTerminatingInstances",
    "GroupTotalInstances",
  ]
}
amazon-ecs terraform autoscaling
  • 1 个回答
  • 584 Views
Martin Hope
Philip Couling
Asked: 2021-02-17 03:24:22 +0800 CST

可以从设备安装 Docker 卷而不是绑定安装目录吗?

  • 2

我想在 Linux 主机上设置一个 docker 服务(docker-compose),其中一个容器将整个 [可移动] 物理硬盘驱动器安装为 docker 卷。

我知道在 docker-compose 中设置绑定挂载很简单,我可以在主机上手动挂载驱动器。这种方法确实有效,但它涉及手动步骤,并有可能出现人为错误。当此服务以主机驱动器根分区上的空白目录启动时,会发生不好的事情。如果驱动器在仍然安装的情况下被拔掉,会发生更糟糕的事情。

我想做的是让 docker 将设备直接安装为卷。这将具有更少/更简单的手动步骤和故障保护的优点,如果驱动器丢失,服务将无法启动。这也将确保我们在服务停止时卸载驱动器。

鉴于卷基本上只是操作系统挂载,感觉这应该很简单,但是通过文档进行了大量搜索,我仍然没有进一步前进。

docker docker-compose
  • 2 个回答
  • 3121 Views
Martin Hope
Philip Couling
Asked: 2021-02-12 17:42:41 +0800 CST

寻找有关 AWS 安全组行为方式的良好解释

  • 0

我正在努力了解 AWS 安全组描述的端口范围以及它们的行为方式。我是一名拥有多年编写网络软件经验的软件开发人员,所以我可能只是把事情复杂化了。

我真正想要的是一种将我的网络知识与 AWS 的命名和行为联系起来的方法。

最让我困惑的是,在 TCP 或 UDP 数据包上有两个端口号(发送方和接收方)。这适用于数据包是从服务器发送到客户端还是从客户端发送到服务器。所以防火墙规则理论上可以引用4个不同的端口:

  1. 入站数据包接收端口
  2. 入站数据包发送端口
  3. 出站数据包接收端口
  4. 出站数据包发送端口

我意识到任何(TCP)连接实际上只有两个端口,因为入站和出站数据包是彼此的镜像。

现在考虑到所有这些,AWS 控制台只有一个用于入站规则的端口和一个用于出站规则的端口。当我查找示例时,它们通常包含允许同一组中的每个端口出站作为单个端口入站的参考(请参阅terraform 示例)。

这究竟是做什么的?

我很担心,因为...我似乎需要这个出口规则。这似乎允许任何客户端从任何端口连接到端口 443。(没关系)。但是,一个安全组的出口规则能否与另一个安全组的入口规则结合使用?

例如:如果我添加一个网络组让我的机器充当 HTTP(S) 服务器,就像示例一样,然后我添加另一个规则让它充当 HTTP(S) 客户端,那么我将有一个规则允许来自任何软件的任何端口和一个允许任何端口到任何地方的规则。这是否完全打开了防火墙,还是每个数据包都必须完全匹配一个安全组?

firewall amazon-web-services security-groups
  • 1 个回答
  • 49 Views
Martin Hope
Philip Couling
Asked: 2019-06-20 02:31:31 +0800 CST

重写电子邮件 (RFC822) 发件人地址以匹配 MAIL FROM (RFC821) 信封地址后缀

  • 2

我正在采取措施强化我的传出 postfix SMTP 服务器。我想防止用户欺骗他们的发件人地址。

当使用 postfix SMTP 发送电子邮件时,发件人通过三种方式被识别:

  1. 在电子邮件本身中有一个From:标题 - 如RFC 822中所定义
  2. 使用 SMTP 发送时,有一个MAIL FROM地址 - 如RFC 821中所定义
  3. 登录到 postfix (SMTP) 时,客户端指定一个用户名,该用户名也可以解释为发件人

查看手册,我相信reject_sender_login_mismatch和reject_unlisted_sender将共同保证MAIL FROM电子邮件与postifx 登录相关联。那是上面的2和3匹配。

我被困在如何确保所有三个匹配。如果结果只是重写消息而不是拒绝,我很高兴,但两者都可以。但是我看不到这样做的方法。我可以看到清理会添加一个缺少的From:标头,但我看不到检查和重写的方法。


感谢那些指出另一个类似问题的人。不幸的是,这并没有帮助,因为这个问题有两个答案,一个非常模糊,另一个似乎是错误的。

postfix
  • 1 个回答
  • 872 Views
Martin Hope
Philip Couling
Asked: 2019-04-16 03:25:13 +0800 CST

潜在攻击者如何发现 IPv6 地址和 AAAA 名称?

  • 26

每天都会收到大量针对 SSH 和 SMTP 等服务的常用用户名/密码的小型黑客攻击尝试,这是相当标准的。我一直认为这些尝试是使用 IPv4 的“小”地址空间来猜测 IP 地址。我注意到,尽管我的域具有镜像每个 A 名称记录的 AAAA 名称记录,并且所有 IPv4 服务也对 IPv6 开放,但我在 IPv6 上的黑客攻击尝试为零。

假设一个公共 DNS(AWS 路由 53)有一个模糊的子域指向一个合理随机的 /64 后缀;是否可以远程发现 IPv6 地址和 / 子域,而无需尝试 /64 位前缀中的每个地址或很长的常用名称列表中的每个子域?

我当然知道爬网寻找列出的(子)域名很简单。我也知道同一子网上的机器可以使用 NDP。我对 DNS 或 IPv6 的底层协议是否允许远程发现/列出未知域和地址更感兴趣。

domain-name-system
  • 3 个回答
  • 2965 Views
Martin Hope
Philip Couling
Asked: 2018-11-06 06:55:25 +0800 CST

如何创建 AWS S3 存储桶的离线增量备份

  • 3

我正在寻找一种将 AWS 存储桶的每日备份作为增量备份的方法。这些将离线存储并远离 AWS。

对于其他存储系统(例如 NAS 驱动器),我使用每日rsync进行备份。使用 rsync 的--link-dest开关,我可以每天拍摄远程文件系统的完整快照。自上次备份以来未更改的任何文件都将硬链接到上次备份。这意味着每日完整快照仅占用增量备份的存储空间。

我想为亚马逊 S3 存储桶设置类似的东西。存储桶中有 20GB,但每天只有约 50MB 的变化。

请注意,这是备份 S3 存储桶的内容,而不是将其他内容备份到 S3 存储桶。

我可以看到如何使用 AWS CLI 工具进行完整备份。我看不到如何进行增量备份。

我想我可以(每天)将 S3 同步到本地硬盘,然后每天备份本地硬盘。这感觉非常笨拙。

编辑

这是一个简单的技术问题,而不是对备份安全性的一般讨论。但既然有人问我“你为什么需要这个”,我现在明白我需要解释备份的基本原则。

轶事:我最近目睹了第三方 IT 提供商因为沟通不畅而(完全)放弃了 S3 存储桶。这可能非常昂贵(最近的工作约 10 万英镑,总工作约 100 万英镑)。幸运的是,我们碰巧在本地笔记本电脑上也有副本,我们只花了 1000 英镑就为他们重建了内容。

它让我再次坚信,唯一有效的“备份”是在离线和离线存储的隔离系统上,并且具有有效实施时间锁定的媒体轮换。其他备份可以增强,提供更快速的恢复等...但是将所有 AWS 备份保存在您自己的 AWS 帐户上并不安全,因为...用户错误。

amazon-web-services
  • 2 个回答
  • 2239 Views
Martin Hope
Philip Couling
Asked: 2014-12-19 15:16:56 +0800 CST

Apache 为 meta-data.xml.md5 返回不正确的 mime 类型

  • 1

我正在努力让 apache2 提供具有正确 mime 类型的文件。我在 Ubuntu 上使用 apt-get 安装的 apache 2.2。

有问题的文件是一个名为maven-metadata.xml.md5.

出于某种原因,apache坚持这是类型 Content-Type: application/xml 这显然是不正确的,因为文件的全部内容:

443219553065c4885947185d40d2a04e

我只能假设这个决定是由 apache 做出的,因为文件名中有“xml”,但在上下文中没有任何意义。

我试过添加md5as/etc/mime.types但text/plain我仍然得到相同的结果。

完整的标题是:

HTTP/1.1 200 OK
Date: Fri, 19 Dec 2014 22:58:30 GMT
Server: Apache/2
Last-Modified: Thu, 18 Dec 2014 14:56:57 GMT
ETag: "6e8e3cb-20-50a7ecdb68040"
Accept-Ranges: bytes
Content-Length: 32
Keep-Alive: timeout=30
Connection: Keep-Alive
Content-Type: application/xml

有什么建议么?

编辑 我想我可能错过了一个明显的步骤,比如在添加md5到/etc/mime.types.

apache-2.2
  • 1 个回答
  • 848 Views
Martin Hope
Philip Couling
Asked: 2014-08-07 03:38:07 +0800 CST

Open VPN 是否可以使用双重替代身份验证(用户/通行证或客户端证书)?

  • 2

我正在使用 OpenVPN 为多个办公室设置 VPN 网络。这是双重目的:

  1. LAN 到 LAN VPN 允许在办公室之间无缝路由流量。
  2. 允许用户在外出时连接到网络。

这导致需要两种单独的身份验证机制:

  1. LAN 到 LAN 的客户端证书
  2. 用户的单点登录用户/密码(无客户端证书)。

根据文档:

  • auth-user-pass-verify单独将要求每个用户提供客户证书和用户/密码
  • auth-user-pass-verify并且client-cert-not-required只需要用户/密码

问题: 如何配置 Open VPN 以仅使用客户端证书对某些客户端进行身份验证,而仅使用用户/密码对其他客户端进行身份验证?

openvpn
  • 1 个回答
  • 1658 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve