如果这是一个非常愚蠢的问题,我深表歉意。
确保要在集群中的节点之间传输的流量不会(低效地)离开集群然后再返回,而是直接在节点之间传输。
我们在发出旨在在节点之间进行的请求时使用外部 IP 地址。
当前的架构如下所示:
Verizon FIOS ISP(商业,多个静态 IP)
|
|
Verizon FIOS 路由器 (Actiontec MI424WR)
(通过使用将外部 IP 转发到内部 IP 来配置
静态 NAT)
|
|
托管交换机 (Dlink DGS-1100-24)
| | | |
| | | |
节点 1 节点 2 ... 节点(n)
每个节点都运行Linux Centos并配置了一个内部IP地址(192.168.1.xxx)
路由器配置为使用静态 NAT 将分配给每个节点的外部 IP 地址路由到节点的内部 IP 地址。
非常感谢!
我在 AWS 上运行服务器,并连接到合作伙伴的 FTP 站点(不太了解他们在运行什么)。我的服务器有一个弹性 IP。在下面的结果中 xx.xx.xx.xx 是内部 IP(与我从 IPConfig 得到的相同)。yy.yy.yy.yy 是外部 IP(与 RDPed 相同)。
Connected to ftp.site.com.
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 22:47. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
User (ftp.site.com:(none)): someuser
331 User someuser OK. Password required
Password:
230 OK. Current restricted directory is /
ftp> literal pasv
227 Entering …Run Code Online (Sandbox Code Playgroud) 正如我在此处询问并在此处重复的那样,似乎 NAT Hairpinning 是我正在寻找的答案,以允许内部服务器通过 ASA 环回以访问外部 IP(不使用 DNS Doctoring)。但是,这些帖子中提供的说明以及此处http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a00807968d1.shtml#solution2似乎并未涵盖 IOS 8.3+ 上的 NAT Hairpinning(我是运行 9.1) 9.1 甚至不再有静态命令(本身)。
我如何在 IOS 8.3+(特别是 Cisco ASA 5505 上的 9.1(2))中 NAT 发夹。
谢谢!
这是我在 Cisco 的支持站点上发布的内容...也许附加信息使我的情况更加清楚
我似乎无法让 nat hairpinning 工作......互联网上的大多数说明都表明如何使用 8.3 之前可用的命令来做到这一点。
我尝试了以下方法:
same-security-traffic permit intra-interface
asa-box(config-network-object)# object network my-inside-address-obj
asa-box(config-network-object)# nat (inside,inside) static my-outside-address-obj
Run Code Online (Sandbox Code Playgroud)
这不起作用。
然后我补充说:
access-list hairpin_allow extended permit tcp object Internal_NAT_Range object External_NAT_Range
Run Code Online (Sandbox Code Playgroud)
和
access-group hairpin_allow in interface inside
Run Code Online (Sandbox Code Playgroud)
这也不起作用(试图在这里表现出应有的勤奋......)。
然后我尝试:
nat (inside,inside) source …Run Code Online (Sandbox Code Playgroud) 我已经安装了 Proxmox 3.2,我正在尝试将虚拟机配置为处理所有流量并将它们转发到具有私有 ip 的节点的通信服务器。
我使用两个配置完全相同的 CentOS 虚拟机为 NAT 网络配置了服务器。
Proxmox wiki 有一个非常有限和基本的 nat 网络文档。
我在这里和 proxmox 论坛上发现了类似的问题(这个,这个)。我试图了解linux nat 网络的基础知识,所以我从头到尾完成了这个非常容易理解的教程。我阅读了这篇文章以了解iptables nat 规则
安装和配置后,当我从主机 ping 到 VM 或从 VM 到主机时,输出是:
root@testPrx:~# ping 10.0.4.2
PING 10.0.4.2 (10.0.4.2) 56(84) bytes of data.
From 10.0.4.1 icmp_seq=2 Destination Host Unreachable
Run Code Online (Sandbox Code Playgroud)
当我尝试从具有 Internet 连接和 (192.168.0.3) 的同一网络中的服务器通过 telnet 连接到通信服务器的公共 IP 时
bash-4.1# telnet 192.168.0.2 2701
Trying 192.168.0.2...
telnet: connect to address 192.168.0.2: No route to host
Run Code Online (Sandbox Code Playgroud)
当我尝试 …
我的大脑在试图弄清楚这一点时有点受不了,但我似乎无法让私有子网连接到互联网来获取更新。基本上我想要的是这些服务器的网络访问。我已经尝试过在其他帖子中找到的解决方案,但很容易遗漏一些东西,因为我已经研究了很长一段时间。
到目前为止,我已经完成了以下设置:
我能够通过 SSH 跳转到 NAT 实例,然后转到私有服务器,所以我知道很多都在工作。我已经通过 ping 内部地址验证了我的规则,但是当我离开本地网络时,我开始遇到问题。
我需要在哪里查看或我需要排除哪些故障以帮助缩小范围?是否有一些需要在我忽略的 NAT 实例上完成的配置?
编辑:配置更新
私有子网路由表:
指向公共子网中的 NAT 实例。无法访问互联网,将 EIP 附加到面向互联网的公共接口。

公共子网路由表:
将公共子网指向 IGW,我已验证 Internet 访问。

想法:
我开始认为需要在位于公共子网中的 NAT 实例上设置或创建一些东西来转发来自私有实例的流量,但我不确定需要添加什么。我发现这篇文章解释了在 iptables 中添加伪装规则,这适用于我的情况吗?
我有一个 MikroTik RouterOS 6.23 设备,我的网络如下:
Router
|
|-- bridge1_LAN (wlan1 + ether1) (192.168.0.210) -- LAN (192.168.0.0/24)
| Here is where computers are. Those include some servers and some users.
| Users should be able to navigate always, and servers should
| be reachable online always.
|
|-- ether2_ADSL (192.168.2.2) -- ADSL router (192.168.2.1) -- WAN
| Users should navigate through here because there is no traffic limit.
| Incoming traffic should work exactly as with ether3_3G, as a temporary
| …Run Code Online (Sandbox Code Playgroud) 我有两个 Docker 容器,我试图以特定方式将它们联网。容器 A 在端口 6379 上运行 Redis 服务器。容器 B 正在运行交互式 shell,需要访问 Redis。使用 Docker 的链接功能,容器 B 中的用户可以通过 10.1.0.2:6379 连接到 Redis,该地址通过 Docker 设置的虚拟 eth0 接口传输。
有一个程序将在容器 B 中运行,它希望 Redis 在环回接口的 6379 端口可用。假设此程序无法配置为指向不同的 IP。
我想将流量转发到 127.0.0.1:6379 到 10.1.0.2:6379。我在 NAT 表上尝试了几种 iptables 规则的变体,但是在尝试连接到本地地址/端口时,我要么得到“连接被拒绝”,要么连接永远挂起。用什么iptables规则可以达到这个效果?
这是我尝试过的一件事:
$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A INPUT -d 10.1.0.2/32 -p tcp -m tcp --dport 6379 -j SNAT --to-source 127.0.0.1
-A OUTPUT -p tcp -m tcp --dport …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 pf重新创建这个 iptables 设置(来自https://github.com/darkk/redsocks):
iptables -t nat -A REDSOCKS -p tcp -d 10.0.0.0/8 -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
Run Code Online (Sandbox Code Playgroud)
我想将所有去往 10.0.0.0/8(无论是什么端口)的连接重定向到本地端口 12345。在 linux 中,这适用于上述指定的规则。现在我正在尝试在 Mac OS X 上重新创建它。目前我没有尝试过,例如
rdr inet proto tcp from any to 10.0.0.0/8 port 0:65535 -> 127.0.0.1 port 12345
Run Code Online (Sandbox Code Playgroud)
我已经设置了sysctl net.inet.ip.forwarding=1
我不确定甚至 rdr 规则是否等同于 iptables nat 重定向。Redsocks 要求连接保持目标 IP/端口,以便通过代理正确转发。所以我想包中的目的地不应该更改/重写为 127.0.0.1:12345。
我当前的设置包括 pfSense 防火墙,该防火墙将公共 WAN 流量转发到 NAT 内部 IP。
例子:
这按预期工作,流量正确转发。我遇到的问题是我在 Nginx 日志中看到了本地 IP(即 pfSense 路由器 IP,在本例中为 192.168.1.1)。
我已经搜索过很多文章都建议使用 real_ip 模块,并设置 X-Forwarded-For 标头,但这不起作用。
笔记:
以下是网络拓扑的概述:
无论是弗里茨!盒7340和的MikroTik HAP交流精简版路由器目前充当DHCP在两个局域网服务器,有效地分割网络。该的MikroTik路由器还配置了一个桥梁192.168.88.xxxLAN。
为了避免双NAT的麻烦,我想将MikroTik hAP ac lite重新配置为二层交换机。这样做比双 NAT 有优势。
所有 DHCP 和 NAT 都应由Fritz!Box专门处理。 此外,MikroTik hAP ac lite应该在相同的本地 IP 地址范围内有一个静态 IP 地址,这样它仍然可以通过其 Web 界面进行管理。
在弗里茨!盒的配置是不是一个问题。然而,我是一个管理MikroTik 的 RouterOS的新手,我在网上没有找到关于这个特定问题的说明。因此,我的问题是:
将MikroTik hAP ac lite配置为第 2 层交换机、删除其 DHCP 服务器同时保留用于管理的静态 IP 地址的(详细)步骤是什么?
顺便说一下,我使用的是 GNU/Linux,所以使用Winbox不是我的选择。
在 MikroTik 支持页面上,我看到了一篇关于如何配置 DHCP 中继的文章。但是,我不清楚 DHCP 中继是与第 …