标签: nat

需要专业消费者路由器/防火墙/vpn/vlan/nat 建议

寻找关于设备(或我猜的设备)的建议,以便为我的家庭网络执行路由器/防火墙/vpn/vlan/nat 功能。现在,我正在用 IPCop 盒来做这件事,但我更喜欢少一点自己动手。

要求:

  1. VLAN 对流量进行分段(该死的孩子)
  2. 传统的防火墙/NAT 功能,如 linksys 盒
  3. VPN 到家功能,这样我就可以通过安全管道在路上使用我的笔记本电脑
  4. 从 Windows/Macs/Linux 机器到家的 VPN

我正在考虑比典型的蓝色盒子更进一步的东西(或者它们是否足够?)。

vpn firewall router nat vlan

7
推荐指数
2
解决办法
2971
查看次数

iptables NAT 日志记录

我有一个盒子设置为路由器,使用 Iptables(伪装),记录所有网络流量。

问题:

从 LAN IP 到 WAN 的连接显示正常,即 SRC=192.168.32.10 -> DST=60.242.67.190

但是对于从 WAN 到 LAN 的流量,它将显示 WAN IP 作为源,但路由器 IP 作为目的地,然后是路由器 -> LAN IP。

即 SRC=60.242.67.190 -> DST=192.168.32.199 SRC=192.168.32.199(路由器) -> DST=192.168.32.10

如何配置它以正确记录对话?

SRC=192.168.32.10 -> DST=60.242.67.190 SRC=60.242.67.190 > DST=192.168.32.10

任何帮助表示赞赏,干杯

linux nat iptables

7
推荐指数
1
解决办法
2万
查看次数

需要通过 iptables 将 UDP 数据包复制到多个目的地

我希望为 SYSLOG 和 NetFlow 数据复制 UDP 流量,并希望使用 iptables 来做到这一点,但到目前为止我运气不佳。

我知道其他用户空间软件包可以实现这一点,但它们的开发人员似乎并没有很好地维护它们,因此如果可能的话,我宁愿避免使用它们。

linux nat iptables

7
推荐指数
1
解决办法
1万
查看次数

如何使用 1:1 NAT 为 pfSense 盒子后面的机器分配公共 IP?

这应该非常简单,但对于我的生活,我无法让它工作。我一定是在做蠢事。

我有一个带有公共 IP 地址的 PFsense 服务器。后面是三个局域网段:

[ Internet ]  <---> [ pfSense]  
                        +----- 192.168.1.1/24 ---> (multiple servers)
                        +----- 192.168.2.1/24 ---> (multiple servers)
                        +----- 172.16.1.1/24 ---> (multiple machines)
Run Code Online (Sandbox Code Playgroud)

我有一个地址192.168.1.31位于 pfSense 服务器后面的新服务器,我想给它一个公共 IP。我以为我会用 1:1 NAT 来做到这一点,但无论我尝试过什么,它都不起作用。这是我所做的:

  1. 在 pfSense 中,我使用我想要的新公共 IP 向 WAN 接口添加了一个虚拟 IP。第一次,我使用了“IP 别名”类型。
  2. 我添加了一个 1:1 NAT 规则,将新的公共 IP 作为外部子网和192.168.1.31/32内部子网。
  3. 我在 WAN 接口上添加了防火墙规则,协议 TCP,目的地192.168.1.31/32,端口范围HTTP- HTTP。我对 4000 年代的另一个端口做了同样的事情,我想在那里运行 SSH。

完成上述所有操作后,我无法通过 HTTP 访问新 IP,也无法通过我选择的备用 SSH 端口通过 SSH 连接到新机器。

我将虚拟 IP 更改为“代理 ARP”,然后更改为“其他”,但这些都不起作用......

奇怪的是,我可以 …

nat pfsense

7
推荐指数
1
解决办法
4万
查看次数

如何让 VirtualBox NAT 与实际的客户端 IP 一起工作?

我在 Debian Squeeze 盒子上使用 Virtualbox 4.0.10。我有一个用于托管游戏服务器的 Windows 7 VM。设置 NAT 和端口重定向后,客户端可以连接到 VM,但游戏服务器显示它正在从 NAT 网关 IP (10.0.2.2) 获取连接。我需要游戏服务器从实际的公共 Internet 客户端 IP 获取连接,以便我可以在游戏服务器中设置 IP 白名单。

这台 Debian 机器直接连接到互联网。我能做些什么来完成这项工作?猜猜这不是 VirtualBox 问题,可以使用虚拟网络接口左右解决该问题,但不知道该怎么做。猜猜这不是 Virtualbox probmem,我可以让它与桥接接口一起工作。

nat virtualbox

7
推荐指数
2
解决办法
1万
查看次数

NAT 背后的 DNS 服务器

我有一个 Bind 9 DNS 服务器位于 NAT 防火墙后面,假设面向 Internet 的 IP 是 1.2.3.4

对传出流量没有限制,端口 53 (TCP/UDP) 从 1.2.3.4 转发到内部 DNS 服务器 (10.0.0.1)。VPS 或内部 Bind 9 服务器上没有 IP 表规则。

从位于互联网其他地方的远程 Linux VPS,nslookup 工作正常

# nslookup foo.example.com 1.2.3.4
Server:    1.2.3.4
Address:   1.2.3.4#53

Name:      foo.example.com
Addresss:  9.9.9.9
Run Code Online (Sandbox Code Playgroud)

但是,在host远程 VPS 上使用该命令时,我收到以下输出:

# host foo.example.com 1.2.3.4
;; reply from unexpected source: 1.2.3.4#13731, expected 1.2.3.4#53
;; reply from unexpected source: 1.2.3.4#13731, expected 1.2.3.4#53
;; connection timed out; no servers could be reached.
Run Code Online (Sandbox Code Playgroud)

从 VPS,我可以建立到 1.2.3.4:53 …

domain-name-system nat bind port-forwarding ubuntu-12.04

7
推荐指数
1
解决办法
2万
查看次数

是否可以在防火墙级别将全局 IPv6 地址 NAT 转换为内部 IPv4 地址?

作为一个组织,我们刚刚请求了我们的第一个 IPv6 分配。目前,我们是一个完全 IPv4 的组织,在我们的边缘路由器上配置了全球 IPv4 地址分配,并(主要)用于 NAT,通过边缘防火墙到内部托管的具有私有 IPv4 地址的 Web 服务器。

我很欣赏让我们的面向外部的服务可用于 IPv6 互联网的一种方法是在内部网络中实施 IPv6 双栈,并直接将全球可访问的 IPv6 地址(除了现有的 IPv4 地址)分配给这些服务器。

然而,即使在阅读了大量关于 IPv6 过渡技术和 NAT 在 IPv6 世界中的利弊的帖子和文章之后,我仍然不完全确定我们是否可以从本质上复制我们现有的设置,但使用 IPv6 地址,即我们可以在我们的边缘路由器上配置一个全局可路由的 IPv6 接口,在我们的防火墙上配置一个关联的 IPv6“外部”接口,并简单地将全球面向 IPv6 地址的 1:1 NAT 配置为 IPv4 地址?

这显然基于以下原则:我们与 ISP 有 IPv6 BGP 对等安排,并且我们的内部寻址需求由 RFC1918 满足,但我们希望使选定的外部服务 IPv6 可访问。

firewall nat ipv6 ipv4

7
推荐指数
1
解决办法
1万
查看次数

FreeBSD 的 ng_nat 停止定期传递数据包

我有 FreeBSD 路由器:

#uname
9.1-STABLE FreeBSD 9.1-STABLE #0: Fri Jan 18 16:20:47 YEKT 2013
Run Code Online (Sandbox Code Playgroud)

这是一台拥有大量内存的强大计算机

#top -S
last pid: 45076;  load averages:  1.54,  1.46,  1.29                                      up 0+21:13:28  19:23:46
84 processes:  2 running, 81 sleeping, 1 waiting
CPU:  3.1% user,  0.0% nice, 32.1% system,  5.3% interrupt, 59.5% idle
Mem: 390M Active, 1441M Inact, 785M Wired, 799M Buf, 5008M Free
Swap: 8192M Total, 8192M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   11 root          4 155 ki31 …
Run Code Online (Sandbox Code Playgroud)

freebsd nat

7
推荐指数
1
解决办法
612
查看次数

如何将所有流量转发/NAT 到一个接口/IP 到远程 IP?

我有一个“服务器 A”,它附加了多个 IP,如下所示:

eth0:0 1.1.1.1
eth0:1 1.1.1.2
eth0:2 1.1.1.3
Run Code Online (Sandbox Code Playgroud)

我有另一个“服务器 B”,它也附加了多个 IP,如下所示:

eth0:0 2.2.2.1
eth0:1 2.2.2.2
eth0:2 2.2.2.3
Run Code Online (Sandbox Code Playgroud)

现在,我想在“服务器 A”上设置 iptables,以将“eth0:2”上的所有传入流量转发/NAT 到“服务器 B”上的 IP 2.2.2.3。

我已经验证“服务器 A”能够在 IP 2.2.2.3 上与“服务器 B”“对话”。Ping 和 telnet 打开端口工作得很好,我打开了转发标志(net.ipv4.ip_forward=1)

我尝试了多种不同的方式,DNAT、SNAT、MASQUERADE 等,但我无法获得任何工作。

如果我尝试在同一服务器上的 IP 之间转发流量,这条线可以正常工作:

iptables -t nat -A PREROUTING -d 1.1.1.3 -j DNAT --to-destination 1.1.1.2
Run Code Online (Sandbox Code Playgroud)

但是如果我把“1.1.1.2”换成“2.2.2.3”,它就不起作用了。

我假设我需要第二个 iptable 规则来解决它。我尝试了以下 POSTROUTING 规则但没有任何运气(不是同时):

iptables -t nat -A POSTROUTING -d 2.2.2.3 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 2.2.2.3 -j SNAT --to 1.1.1.3
iptables -t nat -A …
Run Code Online (Sandbox Code Playgroud)

networking linux firewall nat ip-forwarding

7
推荐指数
2
解决办法
4万
查看次数

Amazon EC2 VPC:NAT 实例下载速度性能下降

我在 VPC 中的 Amazon EC2 中有一组服务器。在这个 VPC 中,我有一个私有子网和一个公共子网。在公共子网中,我在 t2.micro 实例上设置了一台 NAT 机器,它基本上在启动时运行这个 NAT 脚本,将规则注入 iptables。从私有子网内的机器从互联网下载文件工作正常。

但是,我将外部高带宽 FTP 服务器上直接从我的 NAT 机器上的文件下载速度与从我的私有子网内的机器(通过同一台 NAT 机器)的下载速度进行了比较。有一个非常显着的差异:从 NAT 机器下载大约 10MB/s,而从私有子网内的机器下载时大约为 1MB/s。

NAT 机器上没有 CPU 使用率,因此这不是瓶颈。在使用更大的机器(具有“中等网络性能”的 m3.medium 和具有“高网络性能”的 m3.xlarge)尝试相同的测试时,我也无法获得大于 2.5MB/s 的下载速度。

这是可以(并且应该)调整的一般 NAT 问题吗?性能下降从何而来?

更新

通过一些测试,我可以缩小这个问题的范围。当我从 2013 年开始使用 Ubuntu 12.04 或 Amazon Linux NAT 机器时,一切运行顺利,我获得了完整的下载速度,即使在最小的 t2.micro 实例上也是如此。无论我使用 PV 还是 HVM 机器都没有关系。问题似乎与内核有关。这些旧机器的内核版本为 3.4.x,而较新的 Amazon Linux NAT 机器或 Ubunut 14.XX 的内核版本为 3.14.XX。有没有办法调整较新的机器?

nat amazon-ec2 amazon-vpc

7
推荐指数
1
解决办法
3771
查看次数