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
    • 最新
    • 标签
主页 / server / 问题

问题[gateway](server)

Martin Hope
Richard T
Asked: 2023-05-21 10:08:48 +0800 CST

Fedora Server 38 作为防火墙/网关的网络问题

  • 5

这个环境几乎所有东西都是双胞胎,包括两个网络服务器/防火墙/网关系统,而且它们的版本已经很老了,所以我决定从其中一个升级Fedora Server 30 to 38。当然,这个想法是将两者都“带入现代时代”,但一次一个。

我的时机很奇怪,因为就在我开始升级的同时,甚至没有接触(物理或电子)另一台服务器,它就决定失败了!所以,现在我有一个“服务器停机”的场景。-呃- 不幸的是,这也意味着我没有可供查看的工作示例。

我没有接触的那个显然有硬件问题,我现在无法解决它们,所以我专注于我已经开始的那个,它现在已经从 Fedora Server 38 的升级/更新中出现了。 . 除了它有一个问题,它不是一个真正的网关!确认!

需要明确的是,从它你可以很好地访问互联网和内部网络。但它并没有通过它传递位。

当然,它都是通用的 Fedora Server(Fedora Core 38,服务器版本进行了任何调整)并且 30 和 38 之间的任何差异都可能是巨大的,尽管这里最重要的是网络。

它有两个 NIC,我按原样配置它们(即 IP 地址、掩码等),实际上安装过程似乎有助于识别哪个 NIC 是内部的,哪个是外部的。我使用了我过去的经验,并且非常确定我做对了。

事实上,一旦启动,我就可以立即通过内部网络通过 ssh 访问该框。而且,好吧,在这样的系统上有很多事情要做,但很快我就了解了这一切的防火墙方面。(那时我没有意识到另一个系统没有响应。)

我做的第一件事是将接口移动到内部和外部区域,然后打开外部区域的伪装。我使用 forward-port 命令等转发邮件等等,最终得到的外部看起来像这样:

# firewall-cmd --zone=external --list-all
external (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp1s0
  sources:
  services: http https ssh
  ports:
  protocols:
  forward: yes
  masquerade: yes
  forward-ports:
        port=25:proto=tcp:toport=25:toaddr=192.168.1.1
  source-ports:
  icmp-blocks:
  rich rules:

另一个,内部:

# firewall-cmd --zone=internal --list-all
internal (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0
  sources:
  services: dhcpv6-client mdns samba-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

顺便说一句,我没有向内部区域添加任何服务——我猜它们显然只是默认设置。

我花了很多时间在路由上,因为从一开始我就觉得它很麻烦。然而,现在是这样的:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router           0.0.0.0         UG    100    0        0 enp1s0
router           0.0.0.0         255.255.255.255 UH    100    0        0 enp1s0
192.168.1.1     0.0.0.0         255.255.255.0   U     101    0        0 enp2s0
192.168.1.1     0.0.0.0         255.255.255.0   U     101    0        0 enp2s0

仅供参考,这个版本的 Fedora 不使用 IP 表,而是使用网络管理器——我从一开始就讨厌的工具集,但现在看起来更成熟了。无论如何,在网上可以找到的大多数资料都谈到了这种较旧的策略,但没有任何帮助。但是,此页面为人们指明了正确的总体方向。

更新 1

我得到了显然备份失败的旧硬件。这并不难做到,但它增加了我们的胜算。...我说“我们的”,因为一位同事加入了我的行列;他专注于旧盒子,而我专注于新盒子。

NEITHER 没有将位作为网关/防火墙传递,这让我感到困惑。然而,我的同事提醒说,一个系统已经不能正常工作,可能是由于尝试让特定的 OpenVPN 安装运行失败。既然他做了那项工作,那么,他将继续在那里。

这必须很简单;什么基本原则被忽视了?!

gateway
  • 1 个回答
  • 121 Views
Martin Hope
Daniel
Asked: 2022-03-26 00:22:50 +0800 CST

如何配置wireguard以转发客户端IP地址(带网关)?

  • 2

我正在尝试将wireguard 配置为VPN 服务器。主要问题是,网关仅将 VPN 服务器 IP 转发到其他服务器,而不是我的客户端 IP。

我的设置如下:

                                                        - server A (10.10.0.4)
                                                      /
CLIENT (10.10.1.3) -> wireguard server (10.10.1.2) -- 
                                       (10.10.0.2)    \
                                                        - server B (10.10.0.3)

Wireguard 服务器运行在具有两个接口的机器上:

  • eth0 (10.10.0.2)
  • wg0 (10.10.1.2)

建立 VPN 连接后,我可以连接到服务器 A 和服务器 B(通过 ssh)。问题是,wireguard 服务器的 IP 地址被转发(nat)到服务器 A 和 B。通过 ssh 登录每次都向我显示,最后一个连接来自 10.10.0.2(在服务器 A 和 B 上)。但是在wireguard服务器上,最后登录的IP是我的真实客户端IP(10.10.1.3)。

我要做的是配置wireguard,以便我的IP(10.10.1.3)正确转发到服务器A和B。

这是我的客户端wireguard 配置文件:

[Interface]
PrivateKey = xxx
Address = 10.10.1.3/24
DNS = 10.10.0.2, 8.8.8.8

[Peer]
PublicKey = XXX
AllowedIPs = 10.10.0.0/24
Endpoint = xxx.xxx.xxx.xxx:41194
PersistentKeepalive = 15

我的wireguard服务器(wg0.conf)配置:

[Interface]
Address = 10.10.1.2/24

## My VPN server port ##
ListenPort = 41194

PrivateKey = xxx

# Internet Gateway config: nat wg1 out to the internet on ens10
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
## Desktop/client VPN public key ##
PublicKey = xxx

AllowedIPs = 10.10.1.3/32

我猜是 iptables 配置错误,因为 nat / MASQUERADE,但我无法正确配置网关。

我感谢您的帮助。

更新

在服务器 A 上执行(在 B 上相同)

ip -br link; ip -br address; ip route

返回(公共 IP 被屏蔽):

lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
eth0             UP             96:00:01:29:d6:9b <BROADCAST,MULTICAST,UP,LOWER_UP>
ens10            UP             86:00:00:08:9c:c5 <BROADCAST,MULTICAST,UP,LOWER_UP>
lo               UNKNOWN        127.0.0.1/8 ::1/128
eth0             UP             10.10.0.3/32  fe80::9400:1ff:fe29:d69b/64
ens10            UP             49.xxx.xxx.xxx/32  2a01:xxx:xxx:xxx::1/64  fe80::8400:ff:fe08:9cc5/64
default via 172.31.1.1 dev ens10 proto dhcp src 49.xxx.xxx.xxx metric 100
10.10.0.0/16 via 10.10.0.1 dev eth0
10.10.0.1 dev eth0 scope link
172.31.1.1 dev ens10 proto dhcp scope link src 49.xxx.xxx.xxx metric 100
networking iptables gateway wireguard
  • 1 个回答
  • 2967 Views
Martin Hope
Roddy
Asked: 2022-03-18 02:55:16 +0800 CST

LAN 上的网关地址是否有事实上的“标准”

  • 0

C 类子网上的网关地址是否有事实上的“标准”?

问是因为我一直在用 macvlans 解决 docker-compose 问题,它假设网关始终在 192.xx1,而实际网关是 192.xx251

gateway docker-compose
  • 1 个回答
  • 27 Views
Martin Hope
user236012
Asked: 2021-12-05 02:21:10 +0800 CST

在一个 NIC 上具有多个 VLAN IP 的网关

  • 0

我想从本地网络中分离出几台主机并将它们放在防火墙后面。我想使用 VLAN 来“物理地”分离它们,而不是只使用不同的子网。我的想法是使用支持 VLAN 的交换机,并像这样构建网络:

在此处输入图像描述

P1 和 P2、P3 和 P4 是四个不同的主机,它们属于两个独立的“物理”网络(VLAN 1 和 2)。它们应该受到 P5 上的防火墙/网关的保护。

P5 应该充当防火墙/网关,控制分离的主机和现有网络之间的数据。它只有一个网卡需要连接现有网络(无VLAN)和两个VLAN。

P6 是现有网络的上行链路。

我现在的问题是:

  1. 这个想法能否按预期工作(给定正确的配置) - 即,P5 上的主机可以有多个 IP/成为多个网络的一部分,只有一个 NIC,它充当分离主机和现有主机之间的网关/防火墙网络,如果没有我没有考虑过的陷阱/缺陷可能允许绕过防火墙的网络之间的数据流?
  2. 我猜交换机需要能够支持标记的 VLAN(而不仅仅是基于端口的 VLAN),因为 P5?
firewall vlan ethernet gateway
  • 2 个回答
  • 165 Views
Martin Hope
Grumpy Curmudgeon
Asked: 2021-11-11 11:10:50 +0800 CST

iptables:如何阻止网关 LAN 端设备之间的 UDP(使用 dd-wrt ​​固件)

  • 0

目标:阻止 UDP 流量到此网关 LAN 端的设备(使用 dd-wrt ​​固件),这些设备与互联网和彼此通信,以测试每个设备上运行的特定通信应用程序。

例外:允许支持这些设备的基本网络操作所需的最低 UDP 继续与互联网和彼此通信(例如:通过 TCP)。

到目前为止我已经尝试过:在此路由器/网关上添加了规则(通过 SSH 会话):

iptables -I FORWARD -p udp -j DROP 
iptables -I INPUT -p udp -j DROP

观察到(什么运作良好):

  • 该规则iptables -I FORWARD -p udp -j DROP成功阻止 LAN 端的设备通过 UDP 与 WAN 端的设备进行通信,这已通过无法使用实用程序在这些设备之间进行通信来验证ncat -u。

观察到(什么不起作用):

  • LAN 端的设备可以使用 UDP 相互通信:
    • 在设备 1(在 LAN 端):ncat -lvu # 在默认端口 31337 上使用 UDP 启动 ncat 侦听器
    • 在设备 2 上(在 LAN 端):ncat -vu <ip-addr-device-1># 在默认端口 31337 上使用 UDP 启动 ncat 调用程序

期望(期望的结果):

  • 设备 2 上的 ncat 调用方无法使用 UDP 与设备 1 上的 ncat 侦听器进行通信。
  • 设备 2 上的 ncat 调用者能够使用 TCP 与设备 1 上的 ncat 侦听器进行通信,但不使用 ncat 参数-u。

附加信息:

  • 使用命令iptables -I INPUT -p udp -j DROP会影响太多其他通信,但无论如何都要使用,以证明此规则在阻止这两个设备之间的 UDP 通信方面无效。
  • 使用硬件:tp-link AC1750(Archer C7 v5)
  • 使用固件:dd-wrt,设置“Operating Mode = Gateway”
  • 网关后面的设备是 UWP、iOS、Android。此处给出的示例使用 UWP (Windows 10) 设备。
  • 我已经看到如何阻止 UDP 同时仍然允许与 iptables 的出站 UDP 连接?,但在我的情况下似乎没有效果,正如尝试所证明的那样iptables -I INPUT -p udp -j DROP。
router iptables gateway block
  • 1 个回答
  • 227 Views
Martin Hope
Karthik Balasubramanian
Asked: 2021-10-26 09:50:51 +0800 CST

在网关节点内,如何始终如一地通过特定接口将流量路由到外部世界?

  • 0

我有带有两个网卡(eth0 和 eth2)的 linux ec2 实例。两个网卡都附有公共 IP,并且能够上网。这个 linux 实例对我来说充当网关节点,转发来自无法访问 Internet 的私有子网中的 ec2 的流量。

能够将来自私有子网中的 ec2 实例的流量转发到公共子网中的此网关实例。网关实例中的所有流量都在 eth0 上接收。现在我希望能够通过 eth1 而不是 eth0 上网。我想这样做是因为我希望外界将 eth1 的 IP 视为源 IP。

执行这些步骤可以帮助我实现这一目标

ip route add 10.0.0.0/23 <subnet of gateway cidr> dev eth2 table 2
ip rule add from <private ec2 instance's ip> table 2
ip route add default via 10.0.0.1 dev eth2 table 2
ip route flush cache

iptables -A FORWARD --in-interface eth0 -j ACCEPT #accepts traffic on eth0
iptables --table nat -A POSTROUTING --out-interface eth2 -j MASQUERADE #forwards the traffic outside via eth2

使用此设置,当我在私有子网中的 ec2 实例之外(通过网关节点)卷曲时,我看到了我期望看到的内容(即外界看到请求来自 eth1 的 ip),但是 curl 请求需要一个很长一段时间(有时甚至超时)。我会说 10 个请求中约有 5 个成功。

我在这里想念什么?

谢谢凯

amazon-ec2 iptables gateway iproute2
  • 1 个回答
  • 35 Views
Martin Hope
Álex Fogaça
Asked: 2021-03-30 22:45:58 +0800 CST

有没有办法在 GCP API Gateway 上设置自定义身份验证?

  • 2

我一直在研究 GCP API Gateway 作为我们后端系统的入口点,由一些 Cloud Run、Pub/Sub 和 Firestore 实例组成。我认为网关将非常适合作为验证经过身份验证的请求的中心位置。

GCP 提供了一些方法,但它们都不允许开发人员构建他们的授权过程应该是什么的代码实现。我们的想法是检查我们给每个客户的标题上的秘密,并在我们的数据库中检查一些关于它的信息,比如到期日期和其他一些东西。

我想知道是否有办法通过代码设置自定义身份验证并配置 API 网关以正常处理它,就像它们提供的其他选项一样。

google-cloud-platform gateway
  • 1 个回答
  • 1186 Views
Martin Hope
Kapoios
Asked: 2021-03-14 08:56:44 +0800 CST

Windows 10 客户端:无法强制从特定 NIC 传输到特定子网的传出流量

  • 0

在我的网络设置中,我有两台计算机

  • 使用 Windows 10 的客户端
  • 带有 CentOS v7.9 的 Ookla 服务器,它是托管在 ESXi 虚拟机管理程序中的虚拟机

两者都有两个相同类型的网络适配器:

  • 一个适配器,配置用于 Internet 访问和使用 SSH 登录机器,使用普通的 1Gpbs 以太网链路(我们称它们为“管理”网卡)
  • 另一个促进它们之间的 10Gbps 连接,我想从中进行速度测试。

请注意,服务路由器和一些额外的网络设备放置在 10Gbps 链路中的客户端和服务器之间,但我非常确信它们配置正确。

管理 NIC 具有不同子网中的 IP(客户端中的 10.85.xxx.yyy 和服务器中的 10.88.zzz.www),而促进 10Gbps 的 NIC 具有相同子网中的 IP(服务器中的 50.50.50.50/24 和50.50.50.51/24 在客户端)。没有为子网 50.50.50.0/24 配置网关,因为没有为该子网提供网关功能的设备。不过,我的管理网卡已经配置了网关,所以我没有违反“单一网关”的原则。

虽然当 IP 50.50.50.51/24 设置为促进其 10Gbps 的 NIC 时自动配置 Windows 10 PC 中的路由表,但我什至无法 ping IP 50.50.50.50 并看到从其 10Gbps 传输的 ICMP ping 数据包- 促进 NIC,更不用说在这个链接上进行速度测试了。相反,数据包是从其“管理”网卡(下面的路由表中的接口“10.85.220.116”)传输的。出于这个原因,我还添加了静态路由:(route add 50.50.50.50 mask 255.255.255.255 0.0.0.0 metric 2 IF 13其中 IF 13 是下面的接口“50.50.50.51”),但 ping 数据包继续从 1Gbps 适配器传输,正如我在 Wireshark 捕获中看到的那样。问题没有通过重新启动客户端得到解决。此外,反向 ping(服务器 --> 客户端)也不成功。

至此,我在Windows 10 PC中的路由表如下:

在此处输入图像描述 在此处输入图像描述

另外,当我第一次 ping 主机 50.50.50.50 时,我可以看到从 NIC 50.50.50.51 广播未回复的 ARP 请求。 在此处输入图像描述

为了将所有流量从 IP 地址为 50.50.50.51 的接口路由到子网 50.50.50.0/24,我还能尝试什么?

万一这很重要,我的 Win 10 版本是:10.0.17134.1488.

更新:在删除到 50.50.50.50 的静态路由后,我还尝试将路由的度量减少到 50.50.50.0/24 ( route change 50.50.50.0 mask 255.255.255.0 0.0.0.0 metric 2 IF 13),但这也没有解决我的问题。现在,我的路由表如下: 在此处输入图像描述

我仍然有同样的问题。

更新#2根据 djdomi 在聊天中的建议,我意识到 IP 选择可能是一个问题。因此,我从子网 192.168.10.0/24 中为 10Gbps 适配器(服务器为 192.168.10.1,客户端为 192.168.10.2)选择了 IP,而没有进入网关(10.85.220.1 仍然是默认网关)并​​重新启动。但是,问题仍然存在。

更新#3我在中间设备中发现了一些网络问题(这有助于 L2 层的转发和服务路由)。解决它们后,我仍然遇到同样的问题。但是现在,当我发出tracert 192.168.10.1识别服务器 10Gbps 适配器的路径时,我看到一些 LLMNR 帧224.0.0.252从 Win 10 客户端的 10Gbps NIC 传输到多播 IP ( ),这些帧查询配置的默认网关的 IP 1Gbps 网卡 ( 10.85.220.1)。Ping 仍然更喜欢 1Gbps 网卡。为什么这样做?无论如何,我按照此链接中的说明禁用了 LLMNR 协议,因为服务器中 10Gbps NIC 的这个 IP 与文件中的 Ookla 服务器 URL 相关联/etc/hosts,但这也没有解决问题。

routing networking ip gateway windows-10
  • 1 个回答
  • 605 Views
Martin Hope
Nibs Niven
Asked: 2021-03-03 00:17:38 +0800 CST

在一个 IP 上使用双 IP Ping 主机,从其他 IP 返回回显

  • 2

我在设置为路由器的主机(i5 cpu、8Gb RAM、SSD 和硬盘)上运行 Fedora 33;它有 5 个 NIC。我已经设法使用 nftables 让双互联网网关和双 LAN 工作得相当好。

一个网关是带 pppoe 的 DSL,另一个是电缆调制解调器。两者都可以连接并且可以看到互联网。两个局域网都可以看到互联网并提供互联网可以看到的服务。IOW、NAT 和转发运行良好。

问题是:我不知道如何设置路由表。问题出在哪个网关具有最低度量标准与 NAT 一起使用并转发到其 LAN,但它关闭了 NAT 并转发到其他网关和 LAN。从 LAN 机器的角度来看,我一次只在一个网关上工作。

root@gata[~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         67.193.x.x      0.0.0.0         UG    100    0        0 coglink
0.0.0.0         206.248.x.x     0.0.0.0         UG    104    0        0 ppp0
10.0.0.0        0.0.0.0         255.0.0.0       U     103    0        0 tekgw
67.193.56.0     0.0.0.0         255.255.248.0   U     100    0        0 coglink
192.168.1.0     0.0.0.0         255.255.255.0   U     102    0        0 coggw
206.248.155.132 0.0.0.0         255.255.255.255 UH    105    0        0 ppp0

我知道可以设置路由,以便 10.0.0.0 上的机器始终使用 ppp0,而 192.168.1.0 上的机器始终使用 coglink,但是关于如何做到这一点的网络搜索一直没有结果。与面向互联网的接口相同。如果有人可以向我指出有关多个接口的 IP 路由的清晰相关教程,我将不胜感激。

router fedora gateway route nftables
  • 1 个回答
  • 107 Views
Martin Hope
Gerrie Pretorius
Asked: 2021-02-04 06:47:53 +0800 CST

当网关是文本而不是 IP 时添加 Windows 路由

  • 0

如果我连接到我的公司 VPN,我的路由表中有以下内容。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.103     41
          0.0.0.0          0.0.0.0         On-link      192.168.11.1      1
          8.8.8.8  255.255.255.255         On-link      192.168.11.1      1
     10.10.10.182  255.255.255.255         On-link      192.168.11.1      1

从这里可以看出,网关“On-link”是文本而不是 IP 地址。这是由我的公司 VPN 自动添加的路由。(paloaltonetworks.com GlobalProtect)

我想删除一些路由,这样我的所有流量就不会总是通过 VPN。

所以我删除了0.0.0.0路由,以便默认情况下流量通过我的正常互联网

route DELETE 0.0.0.0

然后因为删除前有两条“0.0.0.0”路由,我再次添加我的默认网关路由

route ADD 0.0.0.0 MASK 0.0.0.0 192.168.0.1 METRIC 1

但现在,我再也无法到达我的任何工作目的地了。所以现在我想添加到 VPN 网关的路由,但是我有“On-link”而不是 IP 地址所以如果我尝试添加一个路由去“On-Link”我得到一个错误

C:\Windows\system32>route ADD 162.29.152.249 MASK 255.255.255.255 On-link
The route addition failed: The parameter is incorrect.

将其放在引号中也无济于事。那么如何获取此网关的 IP 地址呢?

如果我查看我的 Windows 网络连接,我会发现“PANGP Virtual Ethernet Adapeter”似乎是由 VPN 客户端创建的。如果我打开它,然后转到 TCP/IPv4 设置,我可以看到我的 VPN IP 地址和子网掩码,但“默认网关”是空白的。

所以我不知道如何获取默认网关 IP 地址,或者如何通过此 VPN 连接路由特定流量。

任何帮助都感激不尽。

windows ip gateway route
  • 1 个回答
  • 666 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