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

Alex's questions

Martin Hope
Alex
Asked: 2020-04-04 11:40:13 +0800 CST

iptables 端口转发不适用于 libvirtd VM

  • 0

出于某种原因,我无法从外界连接到我在 VM 内的服务器,但我绝对可以从虚拟机管理程序连接到我的服务器。服务器应用程序在端口 27500 和 27015 上运行。我对 iptables 有点缺乏经验,所以可能是我做了一些明显的错误。这是我的 iptables-save:

[root@FW-H01 ~]# iptables-save
# Generated by iptables-save v1.8.4 on Fri Apr  3 21:34:51 2020
*mangle
:PREROUTING ACCEPT [10974504:113682765318]
:INPUT ACCEPT [9998403:109052061915]
:FORWARD ACCEPT [963508:4628352252]
:OUTPUT ACCEPT [11423761:2389165771]
:POSTROUTING ACCEPT [12387067:7017507319]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A LIBVIRT_PRT -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Fri Apr  3 21:34:51 2020
# Generated by iptables-save v1.8.4 on Fri Apr  3 21:34:51 2020
*nat
:PREROUTING ACCEPT [7429:1219873]
:INPUT ACCEPT [1302:77639]
:OUTPUT ACCEPT [321:22443]
:POSTROUTING ACCEPT [321:22443]
:LIBVIRT_PRT - [0:0]
-A PREROUTING -d 116.202.163.214/32 -p tcp -m tcp --dport 27500 -j DNAT --to-destination 192.168.122.233:27500
-A PREROUTING -d 116.202.163.214/32 -p tcp -m tcp --dport 27015 -j DNAT --to-destination 192.168.122.233:27015
-A PREROUTING -d 116.202.163.214/32 -p udp -m udp --dport 27015 -j DNAT --to-destination 192.168.122.233:27015
-A PREROUTING -d 116.202.163.214/32 -p udp -m udp --dport 27500 -j DNAT --to-destination 192.168.122.233:27500
-A POSTROUTING -j LIBVIRT_PRT
-A POSTROUTING -s 192.168.122.233/32 -p tcp -m tcp --sport 27500 -j SNAT --to-source 116.202.163.214
-A POSTROUTING -s 192.168.122.233/32 -p tcp -m tcp --sport 27015 -j SNAT --to-source 116.202.163.214
-A POSTROUTING -s 192.168.122.233/32 -p udp -m udp --sport 27015 -j SNAT --to-source 116.202.163.214
-A POSTROUTING -s 192.168.122.233/32 -p udp -m udp --sport 27500 -j SNAT --to-source 116.202.163.214
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
COMMIT
# Completed on Fri Apr  3 21:34:51 2020
# Generated by iptables-save v1.8.4 on Fri Apr  3 21:34:51 2020
*filter
:INPUT ACCEPT [173397:141627735]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [164473:257858146]
:LIBVIRT_FWI - [0:0]
:LIBVIRT_FWO - [0:0]
:LIBVIRT_FWX - [0:0]
:LIBVIRT_INP - [0:0]
:LIBVIRT_OUT - [0:0]
-A INPUT -j LIBVIRT_INP
-A FORWARD -j LIBVIRT_FWX
-A FORWARD -j LIBVIRT_FWI
-A FORWARD -j LIBVIRT_FWO
-A FORWARD -d 192.168.122.233/32 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 27500 -j ACCEPT
-A FORWARD -d 192.168.122.233/32 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 27015 -j ACCEPT
-A FORWARD -d 192.168.122.233/32 -p udp -m state --state NEW,RELATED,ESTABLISHED -m udp --dport 27015 -j ACCEPT
-A FORWARD -d 192.168.122.233/32 -p udp -m state --state NEW,RELATED,ESTABLISHED -m udp --dport 27500 -j ACCEPT
-A OUTPUT -j LIBVIRT_OUT
-A LIBVIRT_FWI -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A LIBVIRT_FWI -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWO -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A LIBVIRT_FWO -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWX -i virbr0 -o virbr0 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 68 -j ACCEPT
COMMIT
# Completed on Fri Apr  3 21:34:51 2020

任何人都可以看到任何不正常的东西吗?请注意,大多数规则是由 libvirtd 生成的,我不确定这与我的规则之间是否存在任何中断的交互,或者如果我使用 libvirtd NAT 设置,我是否应该完全不同地做这件事. 让我知道是否需要添加其他信息。非常欢迎任何想法,我一直在努力解决这个问题好几个小时,谢谢!

virtualization networking iptables libvirt
  • 1 个回答
  • 1596 Views
Martin Hope
Alex
Asked: 2019-09-09 00:42:22 +0800 CST

Wireguard 作为虚拟机桥接,在 VPN 上不可见虚拟机管理程序

  • 1

我正在尝试通过互联网将两个管理程序连接在一起。两个管理程序都运行 KVM 进行虚拟化,我手动为 VM 网络创建了网桥,目前可以使用。

我想使用 Wireguard 连接这两个虚拟机管理程序上的虚拟机桥接器,以便虚拟机可以从一个虚拟机管理程序迁移到另一个虚拟机管理程序,而虚拟机本身没有任何路由/网络更改。

不过在开始之前,我意识到我不知道如何设置 Wireguard,以使两个管理程序上的网桥对另一个管理程序可见,但管理程序本身不会出现在 VPN 上,因此虚拟机无法直接连接/攻击管理程序。

Wireguard 能够做到这一点吗?或者由于 Wireguard 在 OSI 堆栈而不是以太网帧级别上的工作方式,这是不可能的?

谁能说出是否可以使用 Wireguard 来“盲目地”桥接两个网络?还是主机也总是出现在网络上?其他一些 VPN 解决方案会允许这样做吗?或者我最好使用防火墙来锁定我不想被访问的主机?

提前致谢!

linux
  • 1 个回答
  • 2398 Views
Martin Hope
Alex
Asked: 2019-08-17 09:53:20 +0800 CST

为什么 htop 只在 CentOS/RHEL 上的 EPEL 中可用?

  • 1

老实说,我很好奇为什么 htop 在 base、extra 甚至 centosplus 存储库中不可用。对我来说,这似乎是无辜的和有用的,但也许我忽略了它的某些方面,例如许可,我只是想知道决策是什么。

任何人都可以解决这个问题吗?我只是好奇并希望弄清楚原因是什么,也许它也可以让我们更深入地了解包装本身,因为我经常使用它,也许我忽略了它的一些东西。

centos
  • 1 个回答
  • 141 Views
Martin Hope
Alex
Asked: 2018-12-29 01:21:26 +0800 CST

LXC 中的 Docker 启动容器进程导致“应用上限:不允许操作”

  • 0

我正在尝试在 LXC 容器中运行 Docker 容器。然而,这样做会导致我收到以下错误: [root@DH-DockerLXC01 alex]# docker run fedora bash docker: Error response from daemon: OCI runtime create failed: container_linux.go:337: starting container process caused "apply caps: operation not permitted": unknown. ERRO[0001] error waiting for container: context canceled 我认为我需要设置一些配置以更宽松,但由于我已经使用 virt-manager 创建了 LXC 容器,所以我不确定从哪里开始。

请注意,LXC 容器使用 chroot 进行存储,AFAIK 应该允许 docker 使用完整的 AUFS 没有任何问题,但如果我错了,请纠正我。

docker
  • 2 个回答
  • 3762 Views
Martin Hope
Alex
Asked: 2016-12-11 18:14:24 +0800 CST

Grub 无法启动我的准系统 Arch BTRFS 设置

  • 0

我不确定我做错了什么。我基本上在VM(Linux KVM)中使用了最新的arch linux live disk,

  • 在 VM 中启动最新的 Arch linux live 磁盘(Arch 上的 Linux KVM)
  • 做了一个单独的分区
  • 用 btrfs -m dup 格式化
  • 安装分区,使用 base 和 base-devel 运行 pacstrap
  • genfstab -U /mnt /mnt/etc/fstab
  • arch-chroot 进入 /mnt 的分区
  • 通过 pacman 安装 grub,运行 grub-install /dev/vda 和 grub-mkconfig -o /etc/grub/grub.cfg
  • 重启
  • Grub 抛出一些错误消息:“错误:没有这样的设备:[某些设备 ID]。\n 加载 linux 核心 repo 内核\n 错误没有这样的分区\n 加载初始 ramdisk\n 错误你需要先加载内核\n按任意键继续”

我仍然可以通过进入 grub 命令行启动机器,对 initrd 执行“linux (hd0,msdos1)/boot/vmlinuz ....”,然后运行“boot”来启动它,但这似乎有点不方便。是的,我正在缩短一些诸如主机名之类的东西,但据我所知,它应该启动。

有谁知道我做错了什么?

编辑:我将 /etc/default/grub 更改为不使用 UUID 并再次运行 grub-mkconfig,这是它生成的 grub.cfg:http://pastebin.ca/3746197 但它 仍然无法启动。

linux kvm-virtualization arch-linux grub2 btrfs
  • 2 个回答
  • 922 Views
Martin Hope
Alex
Asked: 2015-04-10 00:25:20 +0800 CST

在意外取消 yum 更新后损坏了 Fedora

  • 1

tl;dr:我运行了 yum update -y,然后在中途一个巨大的更新(1.1GB)不小心在中途按了 ctrl+C。这打破了一切。

我试过了:

  500  yum check all
  501  package-cleanup --problems
  502  package-cleanup --dupes
  503  package-cleanup --cleandupes
  504  yum-complete-transaction 
  505  yum update -y
  506  yum update --skip-broken -y
  507  yum-complete-transaction --cleanup-only
  508  yum update --skip-broken -y
  509  yum check all
  510  yum clean all
  511  yum makecache
  512  rpm --rebuilddb 
  513  yum update
  514  package-cleanup 
  515  package-cleanup --cleandupes
  516  package-cleanup --cleandupes --skip-broken
  517  yum history
  518  yum history undo 78
  519  yum history undo 78 --skip-broken
  525  package-cleanup --cleandupes
  526  package-cleanup --cleandupes --skip-broken

无济于事。还有什么我可以尝试的吗?这似乎是互联网建议我可以尝试的所有内容。

对我来说,yum 很容易打破这一点似乎很愚蠢,我的意思是,由于某些错误,更新中途停止的情况有多普遍?我认为 yum 是企业软件,也包含在 RHEL 等发行版中。甚至 Windows 也知道如何在没有太多用户干预的情况下从崩溃/损坏/取消的更新中恢复。但是啊。

我的系统运行 Linux 氯 3.18.6-200.fc21.x86_64 #1 SMP Fri Feb 6 22:59:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux (Fedora 21)。

我的主要问题似乎在这里:

--> Finished Dependency Resolution
Error: Trying to remove "systemd", which is protected
Error: Trying to remove "yum", which is protected
** Found 394 pre-existing rpmdb problem(s), 'yum check' output follows:
ModemManager-1.4.4-2.fc21.x86_64 is a duplicate with ModemManager-1.4.0-1.fc21.x86_64

我还没有重新启动,我的系统目前仍然运行良好。

非常感谢任何建议和想法!如果这个线程不起作用,那么我可能会重新安装我的系统。

yum
  • 1 个回答
  • 3485 Views
Martin Hope
Alex
Asked: 2015-01-28 20:55:21 +0800 CST

PFsense https 连接速度非常慢

  • 3

我对 PFsense 有一个非常奇怪的问题,因为路由器在带有 CentOS 7 的 KVM 中运行。https 连接速度非常慢(10KB/s 或更少),并且通过 https 上传根本不起作用;例如,通过 https 加载使用https://imgur.com,但上传图像需要几分钟,之后它会说失败。

我在 PFsense VM 和 2 个 ADSL 路由器/调制解调器之间有一个 192.168.178.x/24 子网的双 WAN 设置。路由器/调制解调器的 NAT 功能无法关闭,所以我只是将它们放在同一个子网中并将它们相互连接,只有一个 DHCP 服务器处于活动状态,第一个路由器位于 .1 上,第二个位于 .2 上。PFsense 框位于 0.5。pfsense 背后的专用网络是 172.16.xx/16。PFsense 虚拟机在具有 2 个 intel Gbe NIC 的 CentOS 7 KVM 管理程序上运行,使用 linux 网桥与 VM 网卡进行桥接,使用 virtIO 驱动程序,如果有任何区别的话。

我确实有一个 Squidproxy,但是它没有为 https 连接启用,并且 https 访问不会出现在 Squid 的日志中,并且关闭或删除 Squid 并没有什么不同。然而,在 PFsense 确实有所作为之前,将自己移入 192.168.178.x/24 子网,因为突然间一切都再次顺利运行,并且任何 https 内容都会立即加载。

有谁知道会发生什么?有什么我可以尝试诊断的吗?我已经尝试过wireshark,但由于速度缓慢,我没有看到任何异常情况。欢迎提出任何建议!

编辑:我目前正在 VM 内运行 memtest86+(那些也不应该给出错误?),到目前为止我有 1 个错误,尽管它似乎超出了我授予 VM 的内存范围,所以我我有点困惑..一旦我有更多信息,我会更新。如果我可以暂时清除主机上的用户,可能稍后会在主机上运行完整的 memtest。

networking
  • 4 个回答
  • 8439 Views
Martin Hope
Alex
Asked: 2015-01-06 15:20:53 +0800 CST

VPN 客户端可以 ping 局域网机器,但没有其他 TCP/UDP 服务工作

  • 1

在成功配置我的 VPN 服务器以将我的 VPN 客户端连接到我的 LAN(使用 CentOS FirewallD 将内部 LAN 暴露给 VPN)之后,我发现 ping 是唯一有效的方法。我无法访问任何可以通过 SSH、HTTP、FTP 或其他服务 ping 的机器。

一些背景资料:

在服务器上:该机器是运行 Tinc VPN 的 CentOS 7 安装。

 #firewall-cmd --get-active-zones 
internal
  interfaces: eth0 (192.168.178.0/24)
external
  interfaces: vpn (10.0.0.0/24)

客户端是一台 Fedora 21 机器,它从不同的位置(例如 3G)连接到 VPN 服务器。

[root@chlorine hosts]# ssh 192.168.178.21
ssh: connect to host 192.168.178.21 port 22: No route to host
[root@chlorine hosts]# wget 192.168.178.21
--2015-01-06 00:52:50--  http://192.168.178.21/
Connecting to 192.168.178.21:80... failed: No route to host.
[root@chlorine hosts]# ping 192.168.178.21
PING 192.168.178.21 (192.168.178.21) 56(84) bytes of data.
64 bytes from 192.168.178.21: icmp_seq=1 ttl=63 time=119 ms
64 bytes from 192.168.178.21: icmp_seq=2 ttl=63 time=135 ms

平到任何机器的作品。LAN机器也可以ping VPN机器就好了。但是,除了 ping 之外的任何操作都会失败。至少在任一客户端似乎都不是防火墙问题。有人有线索吗?我可以尝试的事情?

PS:从 VPN 客户端到 LAN 主机和 VPN 服务器的 LAN 端口的 Traceroute:

    [alex@chlorine ~]$ traceroute 192.168.178.1
traceroute to 192.168.178.1 (192.168.178.1), 30 hops max, 60 byte packets
 1  10.0.0.60 (10.0.0.60)  128.311 ms  130.495 ms  182.502 ms
 2  10.0.0.60 (10.0.0.60)  184.198 ms !X  188.066 ms !X  190.507 ms !X

    [alex@chlorine ~]$ traceroute 192.168.178.47
traceroute to 192.168.178.47 (192.168.178.47), 30 hops max, 60 byte packets
 1  192.168.178.47 (192.168.178.47)  127.881 ms !X  129.314 ms !X  133.072 ms !X

跟踪路由中的“!X”似乎意味着“通信管理禁止”,这似乎意味着防火墙问题,但是我已经尽可能多地禁用/打开防火墙以排除它:

VPN服务器:

[root@zinc ~]# firewall-cmd --list-ports --zone=external
1024-65535/tcp 1024-65535/udp
[root@zinc ~]# firewall-cmd --list-ports --zone=internal
1024-65535/tcp 1024-65535/udp 656/udp 655/tcp 655/udp 656/tcp

我一直在尝试访问一个在 192.168.178.37 处完全禁用防火墙的 Windows 机器,但结果与所有其他 LAN 机器相同;Ping 有效,其余无效,traceroute 显示“Communication Administratively Prohibited”。还有什么想法吗?感谢你目前的帮助!这对我来说很奇怪,很难正确诊断。

linux
  • 1 个回答
  • 3256 Views
Martin Hope
Alex
Asked: 2015-01-06 14:40:42 +0800 CST

使用 CentOS FirewallD 将内部 LAN 暴露给 VPN

  • 0

我有一个(tinc)VPN 设置,其中有多个客户端连接到位于防火墙后面的 LAN 上的 VPN 服务器。我想将该 LAN 暴露给该服务器正在服务的 VPN。我在网上看到了一些如何配置 iptables 的示例,但我想使用 FirewallD 配置此设置,但尚未成功。

VPN 子网是 10.0.0.0/24 ,本地 LAN 是 192.168.178.0/24 。VPN 服务器位于 10.0.0.60 和 192.168.178.47 。测试客户端位于 10.0.0.17 。

我跑过:

firewall-cmd --permanent --zone=external --add-interface=vpn
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=external --add-masquerade
systemctl restart firewalld

在 VPN 服务器和客户端上:

route add -net 192.168.178.0 netmask 255.255.255.0 gw 10.0.0.60
ping 192.168.178.1

返回 100% 丢包率。有什么我做错了吗?

PS:如果我在测试客户端上运行“ping 192.168.178.47”,我会收到回复!只是不是局域网的其余部分。

linux
  • 1 个回答
  • 2361 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