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-66274

milosgajdos's questions

Martin Hope
milosgajdos
Asked: 2020-12-02 03:00:20 +0800 CST

如何在特定的网络命名空间中使用 ss

  • 2

在调查容器中的一些 TCP 网络问题时,我试图用来ss窥探容器网络 TCP 堆栈。

我们在 AWS 中运行 Amazon Linux:

# uname -a
Linux 4.14.173-137.229.amzn2.x86_64 #1 SMP Wed Apr 1 18:06:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

ss有以下 cli 开关:

       -N NSNAME, --net=NSNAME
              Switch to the specified network namespace name.

lsns给我以下输出:

# lsns | grep net
4026531993 net       225     1 root      /usr/lib/systemd/systemd --switched-root --system --deserialize 21
4026532284 net         2 26244 root      /pause

这是pause为每个Kubernetespod 创建的容器——它是创建网络命名空间的容器。

尝试通过运行以下命令查看 pod 网络命名空间ss:

# ss -tp -N 4026532284
Cannot open network namespace "4026532284": No such file or directory

有趣的是 ip netns list不返回任何网络命名空间:

# ip netns list
#

有什么方法可以从根网络命名空间(即 netns 1)查看 K8s pod 网络命名空间?

# ss --version
ss utility, iproute2-ss180129

# lsns --version
lsns from util-linux 2.30.2

# rpm -qi iproute
Name        : iproute
Version     : 4.15.0
Release     : 1.amzn2.0.4
Architecture: x86_64
Install Date: Sat 07 Mar 2020 03:42:24 AM UTC
Group       : Applications/System
Size        : 1321292
License     : GPLv2+ and Public Domain
Signature   : RSA/SHA256, Fri 21 Feb 2020 09:00:29 PM UTC, Key ID 11cf1f95c87f5b1a
Source RPM  : iproute-4.15.0-1.amzn2.0.4.src.rpm
Build Date  : Fri 21 Feb 2020 07:56:50 PM UTC
Build Host  : build.amazon.com
Relocations : (not relocatable)
Packager    : Amazon Linux
Vendor      : Amazon Linux
URL         : http://kernel.org/pub/linux/utils/net/iproute2/
Summary     : Advanced IP routing and network device configuration tools

更新:2020 年 12 月 1 日星期二 11:35:39 UTC

经过一番挣扎,我终于下定了决心strace。

事实证明这ss是一个很棒的工具,但是当它与容器一起使用时,它还有一点不足之处,但我觉得涉及的“罪魁祸首”不止一个。

ss无需查找创建网络名称空间的进程的实际 PID,而是直接检查/var/run/netns:

openat(AT_FDCWD, "/var/run/netns/4026532284", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "Cannot open network namespace \"4"..., 70Cannot open network namespace "4026532284": No such file or directory
) = 70

现在,我怀疑这是由于包是如何iproute创建network namespaces的,即考虑到包ss是随iproute包一起提供的,关于网络命名空间的假设ip是:“嘿,所有网络 ns 都应该在/var/run/netns目录中找到,因为,为什么不,这也会使生活iproute开发容易,或者其他什么。

事实证明,这是在ss/iproute方面做出的错误假设,或者在现代容器工具和互操作性上缺乏“协议” iproute,但这在某种程度上解释了来自

ip netns list

因此,创建网络命名空间的方式(ip因此它们可以被.ssiproute

networking linux-networking containers network-namespace
  • 3 个回答
  • 992 Views
Martin Hope
milosgajdos
Asked: 2020-11-19 02:51:42 +0800 CST

BBR 拥塞控制在我的主机上是否可用

  • 0

我一直在研究在我们的一些服务器上启用bbr 拥塞控制,以测试它们是否对我们的工作负载有任何影响。

我们在 Amazon Linux 2 上:

# uname -a
Linux ip-10-1-66-180.us-east-1.aws.dckr.io 4.14.173-137.229.amzn2.x86_64 #1 SMP Wed Apr 1 18:06:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

我查看了可用的拥塞控制并得到了这个

# cat /proc/sys/net/ipv4/tcp_available_congestion_control
cubic reno

这是否意味着bbr我们的内核中不提供支持?我看到有些人显示上述命令的相同输出,但仍然将sysctls 设置为bbr不管。

我还检查了内核模块,因为我在某处读到bbr需要加载某些模块,但我怀疑这对于旧内核是必要的。

# lsmod | grep -i bbr

bbr鉴于我之前提到的内核版本,有没有一种方法可以在我们的服务器上启用?

linux-kernel socket linux-networking
  • 1 个回答
  • 287 Views
Martin Hope
milosgajdos
Asked: 2014-09-19 13:45:04 +0800 CST

Linux中的虚拟网络接口

  • 2

当我创建一个虚拟网络接口然后将其启动时,它显示为处于 UNKNOWN 状态:

root@5b8dd2855a9c:# ip l a boom type dummy
root@5b8dd2855a9c:# ip l show boom
58: boom: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT
    link/ether 1e:f6:4b:60:ff:1a brd ff:ff:ff:ff:ff:ff
root@5b8dd2855a9c:# ip l set boom up
root@5b8dd2855a9c:# ip l show boom
58: boom: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state **UNKNOWN** mode DEFAULT
    link/ether 1e:f6:4b:60:ff:1a brd ff:ff:ff:ff:ff:ff
root@5b8dd2855a9c:#

任何人都知道为什么?我尝试为其分配 IP 地址,但这并没有解决问题。

我在以下机器上对此进行了测试:

root@5b8dd2855a9c:# uname -a
Linux 5b8dd2855a9c 3.16.1-tinycore64 #1 SMP Fri Aug 22 05:53:09 UTC 2014 x86_64 GNU/Linux
root@5b8dd2855a9c:#

更新:

所以看起来这并没有使界面无法操作。经过一些奴性的谷歌搜索后,我发现了这个信息

linux
  • 1 个回答
  • 5944 Views
Martin Hope
milosgajdos
Asked: 2014-05-15 02:29:43 +0800 CST

dpkg 无法删除符号链接

  • 0

我在 dpkg 包中有以下 postint 脚本:

rm -f /SOMEDIRECTORY/current
ln -s /SOMEDIRECTORY/releases/RELEASESHA /SOMEDIRECTORY/current
ln -s /SOMEDIRECTORY/shared/config/config.json /SOMEDIRECTORY/releases/RELEASESHA/config/config.json

这是安装前的目录树:

drwxr-xr-x 2 user user 4096 May 12 15:21 config
drwxr-xr-x 3 user user 4096 May 14 08:56 shared
drwxr-xr-x 6 user user 4096 May 14 10:06 releases
lrwxrwxrwx 1 root          root            49 May 14 10:14 current -> /SOMEDIRECTORY/releases/RELEASESHA

当我尝试安装 deb 包时,它试图删除一个目录符号链接指向与 JUST THE SYMLINK 相反:

dpkg: warning: unable to delete old directory '/SOMEDIRECTORY/releases/OLD_RELEASESHA': Directory not empty

当我rm -f手动运行该命令时,它按预期工作,但是当 postinst 运行时发生了什么,它将该命令更改为其他什么试图删除符号链接指向的目录而不仅仅是符号链接本身?

有人知道吗?谢谢

debian
  • 1 个回答
  • 538 Views
Martin Hope
milosgajdos
Asked: 2013-05-11 08:16:16 +0800 CST

在 Ubuntu 中优先存储库

  • 3

我们在一些我们坚持使用的服务器上有一些 PPA 源/etc/apt/sources.list.d。其中一些 repos 提供相同的包(在名称方面)但不同的版本和可能不同的二进制文件。有没有办法让一个回购优先于另一个回购?

我阅读了 apt_preferences 教程,但它再晦涩难懂,也没有找到我的问题的答案。这是情况。我们有以下来源:

$ ls -l /etc/apt/sources.list.d 
total 12
-rw-r--r-- 1 root root 66 Jan  2 16:50 nginx-source.list
-rw-r--r-- 1 root root 84 Jan  2 16:49 ruby-ng-experimental-source.list

哪里nginx-source.list:

deb     http://ppa.launchpad.net/nginx/stable/ubuntu precise main

和ruby-ng-experimental-source.list:

deb     http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main

这两个来源都提供了不同版本的 nginx-full 包等。当我列出优先级时,ruby-ng-experimental-source.list 位于输出之上,因此 nginx-full 是从该目录安装的:

$ apt-cache policy nginx-full                                 
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Version table:
     1:1.2.6-1~43~precise1 0
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 0
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 0
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

我如何确定 nginx-source.list 中列出的 repo 的优先级?

我试过这样的事情:

$ cat /etc/apt/preferences
Package: nginx-full
Pin: origin http://ppa.launchpad.net/nginx/stable/ubuntu
Pin-Priority: 1000

Package: nginx-full
Pin: origin http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu
Pin-Priority: 100

但这已经改变了所有来源的优先级 - 或者类似的东西?

$ apt-cache policy nginx-full  
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Package pin: (not found)
  Version table:
     1:1.2.6-1~43~precise1 1000
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 1000
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 1000
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

感谢您的回答!

ubuntu
  • 1 个回答
  • 1977 Views
Martin Hope
milosgajdos
Asked: 2013-02-26 18:27:11 +0800 CST

Nginx定位和重写

  • 0

我正在处理以下问题,但无法解决。我在运行 nginx 的应用程序服务器场前面有 HAproxy。HAproxy 为后端服务启用了一些 httpchecks - 检查正在命中 /health_check URI:

option httpchk HEAD /health_check HTTP/1.1\r\nHost:\ staging.example.com

我想不通的是如何避免记录为所有 URI 启用永久重写的虚拟主机。这是例子

server {
  listen      8000;
  server_name "";

  location = /health_check {
    access_log off;
    return 200;
  }

  rewrite     ^(.*)   https://staging.example.com$1 permanent;
}

我以为上面的位置指令会禁用给定 URI 的日志,但我错了——它被完全忽略了。

有什么办法可以完成这样的事情吗?

nginx
  • 2 个回答
  • 341 Views
Martin Hope
milosgajdos
Asked: 2013-01-21 08:27:25 +0800 CST

查询UNIX socket返回的HAproxy统计信息

  • 0

有人可以向我解释一下通过查询统计套接字返回的 HAproxy 统计信息吗?当我取消针对套接字的“显示统计信息”时,我得到以下返回信息:

application,FRONTEND,,,0,10,2000,48474,4548322,21176388,0,0,147,,,,,OPEN,,,,,,,,,1,1,0,,,,0,0,0,8,,,,0,23,48166,281,4,0,,0,8,48474,,,
application,app01,0,0,0,10,100,48325,4547948,21148475,,0,,0,2,0,0,UP,1,1,0,6,3,2910138,166,,1,1,1,,48325,,2,0,,8,L4OK,,0,0,23,48166,134,0,0,0,,,,2,0,
application,BACKEND,0,0,0,10,2000,48327,4548322,21176388,0,0,,2,2,0,0,UP,1,1,0,,3,2910138,166,,1,1,0,,48325,,1,0,,8,,,,0,23,48166,134,4,0,,,,,2,0,

我知道 FRONTEND 位保留所有传入 HTTP 请求的统计信息,但我不太明白的是第 2 行和第 3 行之间有什么区别?app01 是一个后端服务器,我们在其中代理 HTTP 请求,但是 HAproxy 返回另一行 svname 设置为 BACKEND。我可以看到输出在第 2 行和第 3 行之间略有不同。如果有人能阐明这一点,将不胜感激。我需要收集一些统计数据,并希望避免丢失某些数据的情况。

haproxy
  • 1 个回答
  • 321 Views
Martin Hope
milosgajdos
Asked: 2012-08-22 07:26:45 +0800 CST

无法在 KVM 上启动 Rackspace 云映像

  • 1

我想弄清楚如何创建 KVM VM。我正在通过 Ubuntu 12.10 主机上的 virt-manager GUI 执行此操作。我所做的是将我们在 Rackspace 云中使用的图像(即 tar.gz 文件)下载到 KVM 主机,然后我尝试在本地构建 VM,但是一旦终端窗口启动,它看起来就像图像无法启动说“找不到启动盘”。奇怪的是,它首先尝试 PXE 引导然后失败。任何想法将不胜感激。

如果我尝试使用任何 Ubuntu 图像,也会发生同样的事情。即任何这些http://uec-images.ubuntu.com/precise/20120808/

但是,当我按照此链接上的指南操作时:http: //www.howtoforge.com/virtualization-with-kvm-on-ubuntu-12.04-lts 一切正常 - 显然不是我想要的东西了解如何启动 Rackspace 云映像。

kvm-virtualization
  • 2 个回答
  • 936 Views
Martin Hope
milosgajdos
Asked: 2012-07-07 13:56:39 +0800 CST

nginx 重写或内部重定向周期

  • 13

当我试图访问不存在的 URL 配置时,我用头撞在一个表上试图找出是什么导致了我的 nginx 配置中的重定向循环配置如下:

server {
        listen       127.0.0.1:8080;
        server_name  .somedomain.com;
    root  /var/www/somedomain.com;

        access_log /var/log/nginx/somedomain.com-access.nginx.log;
    error_log  /var/log/nginx/somedomain.com-error.nginx.log debug;

        location ~* \.php.$ {
        # Proxy all requests with an URI ending with .php*
        # (includes PHP, PHP3, PHP4, PHP5...)
        include /etc/nginx/fastcgi.conf;
        }

        # all other files
        location / {
            root  /var/www/somedomain.com;
        try_files $uri $uri/ ;
        }

    error_page 404 /errors/404.html;
        location /errors/ {
                alias /var/www/errors/;
        }       

        #this loads custom logging configuration which disables favicon error logging
        include /etc/nginx/drop.conf;
}

此域是一个简单的静态 HTML 站点,仅用于某些测试目的。我希望 error_page 指令会响应 PHP-FPM 无法找到给定文件,因为我有 fastcgi_intercept_errors ;在 http 块和 nave error_page 设置中,但我猜请求甚至在内部重定向的某个地方之前就失败了。任何帮助将非常感激。

nginx
  • 2 个回答
  • 31704 Views
Martin Hope
milosgajdos
Asked: 2012-05-09 07:13:48 +0800 CST

限制每个用户基于密码的 SSH 访问,但允许密钥身份验证

  • 22

是否可以禁用对用户的 PASSWORD SSH 访问但允许基于每个用户的密钥身份验证?我的意思是,我有一个用户 A,我不想为其提供基于密码的访问权限,但我不希望他只使用密钥身份验证来访问服务器。谢谢

linux ssh
  • 3 个回答
  • 30318 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