公司让多个用户只共享一个公共 IP 地址的情况有多普遍?
我希望答案是“不是很常见”,因为我正在开发的软件依赖于非常独特的 IP 号码。
目前我有一个很好的设置,使用私有 IPv4 地址空间和从两个 ISP 到 Internet 的上行链路。多亏了 NAT,我可以取消其中一个接口,而 Internet 访问仍然存在。
我一直在思考如何在 IPv6 中复制这个配置。从我读到的“NAT 已死”,我真的很高兴,我不喜欢它(有时甚至非常讨厌它),但它有它的用途。
换个角度来看:这是一家小公司,网络中有 3 打计算机,我们没有预算用于支持 SLA 和 BGP 的花哨链接。所以我认为我们自己的来自 RIPE-NCC 的 IPv6 子网将不起作用。
另一方面,拥有两个独立的链接非常有用。有没有办法在 IPv6 中进行 1 对 1 NAT(我使用 Linux 机器作为路由器)?我该怎么做?是否允许我继续使用两个 ISP(前提是它们都支持 IPv6)。
当我从我的 ISP 获得一个子网时,我需要一个面向 Internet 的 IP 地址(以便能够将数据包路由到我的 ISP)和一个面向我的 LAN 的第二个 IP 地址。在 IPv6 中,两者都应该是可路由的。这是否意味着我必须从我的 ISP 获得至少 2 个子网?或者 ISP 需要提供一个 /48 子网而不仅仅是两个 /64 子网?(并将第一个 /64 子网专用于路由器内部通信。)如果我只从 ISP 获得一个 /64 子网怎么办?
总结一下:
问题
我们使用 WordPress 插件来检查损坏的链接。它使用 cURL 来做到这一点。外部链接工作正常,但内部链接,不是那么多。连接被拒绝。
与我们的主持人讨论了这个问题,他们说“我们将服务器放在内部专用网络上,然后通过 NAT 连接到互联网。
curl 命令必须直接连接到服务器的私有 IP 地址。”
换句话说,curl people-press.org/about/danielle-gewurz/
需要...
curl -H “主持人:people-press.org” 10.5.1.66/about/danielle-gewurz/
我真的不想弄乱插件来让它与我们不寻常的设置一起工作,所以从网络架构的角度你有什么可以推荐的吗?
我知道我正在寻找的是一种叫做发夹式 NAT 环回 / NAT 内部到内部的东西,看起来像这样...... www.juniper.net/techpubs/en_US/junos11.2/information-products/topic- collections/security/software-all/security/index.html?topic-56995.html
当然,我的主人不知道我在说什么。
所以,我正在尝试实现每用户路由,以便我能够通过 VPN 路由所有 btpd 种子流量。不幸的是,btpd 目前不允许您绑定到特定的 IP 地址。:(
我决定尝试遵循本指南。
基本上,您标记任何数据包,然后对数据包执行 SNAT 或 DNAT 或 MASQUERADE,然后使用 ip 规则强制特定路由表。
最后,我的设置:
(To my router)
eth1 Link encap:Ethernet HWaddr 00:0a:cd:18:8a:ae
inet addr:172.29.5.10 Bcast:172.29.5.255 Mask:255.255.255.0
inet6 addr: fe80::20a:cdff:fe18:8aae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2073338425 errors:0 dropped:0 overruns:0 frame:0
TX packets:2031270514 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3014149031 (2.8 GiB) TX bytes:1897259705 (1.7 GiB)
Interrupt:17 Base address:0x6c00
(my VPN)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.1.1.4 P-t-P:10.1.1.4 Mask:255.255.255.0
UP POINTOPOINT …Run Code Online (Sandbox Code Playgroud) 我们正在通过 CloudFormation 在 AWS VPC 内部启动基础设施。
我们使用自动扩展组来启动 VPC-EC2 实例(因此,我们不直接启动实例;ASG 负责管理)。
在 PVC 内部,EC2 实例只有一个私有 IP;不做进一步的工作,他们就看不到外面的世界。
当这些实例启动时,我们有一些引导任务需要与各种 AWS API 对话。我们还有一些需要 AWS API 流量的持续任务。
你如何解决这个明显的先有鸡下蛋的问题?
我们已经阅读了:
我想我想知道我们是否可以打开某种后门,允许我们的 VPC EC2 实例访问 AWS API 端点,但没有别的,对于廉价的复杂设置,不会添加另一个网络跃点层到我们用于服务请求的基础设施。
我目前通过具有单个公共动态 IPv4 地址的家庭网络连接运行 OpenVPN 服务器。
我的提供商 (AT&T U-Verse) 显然很快就会切换到大规模 NAT并且不再只为我分配一个私有 IP 地址,因此目前我将无法在旅途中访问我的家庭 VPN。
在短期内,我可以更换提供商,但我希望所有其他提供商尽快用完公共 IPv4 IP 并实施类似的系统。
因此,我正在考虑穿越 LSN 障碍的选择:
假设我以某种方式获得到我的家庭路由器的本地或隧道 IPv6 连接(但由于 LSN,而不是 IPv4 连接):
抱歉有很多问题,但我在这里有点迷茫,可以使用一些帮助来缩小问题空间。
谢谢!
注意:这是我在堆栈交换网络上的第一个问题,所以请宽恕并在需要时提供指导。
我已经安装了 CentOS 6.2 KVM 来宾,但在使用 yum 时遇到问题。这是我第一次使用 CentOS,所以我觉得这是一个我缺少但无法使用谷歌找到的设置。
这是我的步骤;
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="52:54:00:42:1B:4A"
#NM_CONTROLLED="yes"
BOOTPROTO=none
ONBOOT="yes"
NETMASK=255.255.255.0
IPADDR=192.168.122.151
TYPE=Ethernet
Run Code Online (Sandbox Code Playgroud)
vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server3.example.com
GATEWAY=192.168.122.1
Run Code Online (Sandbox Code Playgroud)
ping google.com
PING google.com (173.194.70.139) 56(84) bytes of data.
64 bytes from fa-in-f139.1e100.net (173.194.70.139): icmp_seq=1 ttl=50 time=5.88 ms
64 bytes from fa-in-f139.1e100.net (173.194.70.139): icmp_seq=2 ttl=50 time=5.77 ms
Run Code Online (Sandbox Code Playgroud)
百胜更新
Loaded plugins: fastestmirror, presto
Loading mirror speeds …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 中继是与第 …