标签: nat

服务器变得无法访问并自行恢复(很可能是网络问题)

我在工作场所的服务器遇到了一个奇怪的问题(如果这很重要,它在 NAT 后面)。问题是有时,它变得无法访问,然后又恢复正常,通常在几秒钟内,有时会持续长达 1 分钟。它不会重新启动,也不会崩溃。它只是变得无法访问。在此期间,我无法通过 ssh 进入它,也无法访问机器上运行的任何应用程序(它正在运行几个 Rails 应用程序,因此它们也无法访问)。我检查了 dmesg 并看到了这些行 -

[    4.958074] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.040476] ADDRCONF(NETDEV_UP): eth1: link is not ready
[    5.175624] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[    5.177207] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Run Code Online (Sandbox Code Playgroud)

几行之后,我看到关于网络接口的类似内容 -

[1195777.544167] igb: eth0 NIC Link is Down
[1195780.962943] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Run Code Online (Sandbox Code Playgroud)

看起来确实是网络问题。/var/log/messages 没有显示任何有趣的东西。我不知道如何调试这个。关于它可能是什么的任何线索?我应该在这里检查什么?谢谢!

networking linux debian nat linux-networking

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

尝试将 NAT 从 2 个外部 IP 设置为同一个私有 IP

Cisco ASA 5510 我目前在一个外部 IP 到内部 IP 上有一个用于 SMTP 的 NAT。我需要在内部将 2 个外部 IP 设置为 NAT 到相同的 IP。我怎样才能做到这一点?例如:10.10.10.1 25 --> 192.168.0.200 25 10.10.10.3 25 --> 192.168.0.200 25

cisco nat pat cisco-asa

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

在 NAT 后面的多台 Windows 机器上访问远程桌面

我们公司有多个 Windows 服务器在 NAT 防火墙后面运行。我们希望向我们的用户提供对这些机器的远程桌面访问。

解决方案之一是通过端口转发。我们可以将 RDP 设置为在特定端口上运行,并从防火墙转发该端口。但是,这会在防火墙上打开很多端口,我们不想使用这种策略。

我在想是否有类似于 ssh 网关的解决方案。(是否有基于名称的虚拟主机 SSH 反向代理?

有没有其他解决办法。

谢谢

security windows rdp nat remote-desktop

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

仅用于两个端口的 IPTables 和 SNAT

我想设置一些 NAT 策略,以便某些机器只能对 http/https 进行出站访问。他们不应该能够从他们的机器上进行端口扫描或其他任何事情。

目前我的 NAT 规则是:

-A PREROUTING -d 1.2.3.4 -j DNAT --to-destination 10.10.1.10
-A POSTROUTING -s 10.10.1.10 -j SNAT --to-source 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

我有这个共享规则:

-A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

1.2.3.4是公网IP,10.10.1.10是内网IP。

这允许直接通过 NAT 的所有入站和出站访问。

我尝试了以下 POSTROUTING 规则而不是上面的规则:

-A POSTROUTING -s 10.10.1.10 -p tcp --dport 80 -j SNAT --to-source 1.2.3.4:80
Run Code Online (Sandbox Code Playgroud)

然而,这似乎不起作用。添加该规则后,我仍然可以从工作站使用 RDP。

概括地说,我的目标是允许某些工作站只能通过 http/https 访问 Internet。应阻止所有其他出站流量。应该允许所有流量。我希望网络中的所有其他工作站都使用现有的 NAT 策略,以允许对所有出站流量进行 NAT。

更新 根据@Zoredache 的回复,我现在有以下 Postrouting 规则。

-A POSTROUTING -s 10.10.1.10/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 1.2.3.4:80
-A POSTROUTING …
Run Code Online (Sandbox Code Playgroud)

nat iptables

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

NAT 背后的星号和 SIP

我正在尝试设置一个 Asterisk-Server 来接受来自其他网络中的客户端的呼叫。服务器和客户端位于 NAT 之后。

我已经在客户端上激活了 STUN,但我仍然无法听到双方的声音。一段时间后,呼叫结束并在 Asterisk 上记录一条关于达到重传超时的消息,并且出现没有对收到的临界数据包的答复。

nat asterisk sip

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

NAT 在 CentOS 7(Firewalld) 上不起作用

我已将 nat 配置为使我的 CentOS 7 成为路由器。我已经使用 firewalld 来做到这一点。但不幸的是它不起作用。我不知道是什么导致了这个问题。我在 Virtual Box 中尝试了相同的配置,它正在工作。如果我在生产服务器中进行了相同的配置,则不会。

Eth0 ip——我的静态ip

掩码-255.255.252.0

网关-我的 ISP 网关

eth1

ip-192.168.1.30

掩码-255.255.255.0

1) 启用数据包转发

vi /etc/sysctl.conf

added “net.ipv4.ip_forward=1”

sysctl –p 
Run Code Online (Sandbox Code Playgroud)

2)在firewalld中配置NAT

i) 将接口“eth1”集成到内部区域

Firewall-cmd --change-interface=eth1 --zone=internal --permanent
Run Code Online (Sandbox Code Playgroud)

• 伪装默认为“关闭”

ii) 将接口“eth0”集成到外部区域

Firewall-cmd --change-interface=eth0 --zone=external --permanent
Run Code Online (Sandbox Code Playgroud)

iii) 将“内部区域”更改为默认区域

Firewall-cmd --set-default-sone=internal --permanent
Run Code Online (Sandbox Code Playgroud)

iv) 添加 DNS 以通过“内部区域”

Firewall-cmd --zone=internal --add-service=dns –-permanent
Run Code Online (Sandbox Code Playgroud)

3) 保存防火墙配置

Firewall-cmd --reload

Firewall-cmd --complete-reload
Run Code Online (Sandbox Code Playgroud)

4)也在iptables里试过

Iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

Iptables –A FORWARD –i eth1 –j ACCEPT

Echo …
Run Code Online (Sandbox Code Playgroud)

nat routing centos firewalld

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

临时端口如何通过 NAT 工作?

我认为我的说法是正确的:

  1. 操作系统通常使用 IANA 临时端口范围 49152 到 65535。
  2. 应用程序生成随机临时端口以建立从客户端到服务器的连接。
  3. NAT 转换 IP 地址,通常是私有-公共。

那么,临时端口如何与 NAT 配合使用呢?

据我的理解(我确信我错过了一些东西),如果例如两个端口,临时端口是否有可能(在较大的网络上更高)在网络或服务器上发生冲突?或者更多客户端碰巧生成并使用相同的随机临时端口通过 NAT 进行连接?

networking nat

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

EC2 实例的 NAT 网关

我有一个带有 ec2 实例的公共子网。路由表0.0.0.0/0默认有IGW(互联网网关)。

我测试了向我的实例添加一个公共 IP 地址(104.27.142.41/32如 curl 所报告ifconfig.co),当我 ssh 到该 ec2 时,它会返回此 IP 地址,这正是我所期望的。

1)我的问题是,由于 NAT 仅适用于出站流量,因此当它向其他站点发送请求或报价时,它们如何通信?

2) 如果我将公共子网的 IGW(互联网网关)切换到 NAT,它是否会将所有出站流量屏蔽到 NAT IP 地址,并且仍然能够与其他站点进行通信?

nat subnet amazon-ec2 amazon-web-services amazon-nat-gateway

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

在 NAT 后面设置多个服务器

我目前正在尝试使用安全网络服务器和内部 openvpn 服务器建立网络。网络服务器运行 Windows 2008,而 vpn 网络运行来自 OpenVPN 的访问服务器。我遇到的问题是我希望能够从 NAT 外部访问两台服务器。我想做这样的事情:

                    Outside
                       |
                       |
                      NAT
                       |
           ------------------------------------
           |                |                  |
        test.org           vpn.test.org       dns.test.org
Run Code Online (Sandbox Code Playgroud)

并在不同的机器上托管 test.org 和 vpn.test.org。我希望两者都可以从端口 433 和外部访问。我不知道如何去做,所以任何帮助将不胜感激。

domain-name-system vpn domain nat hosts

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

什么时候 IPsec 隧道是 NAT-T 的真正候选者(什么时候绝对需要?)?

我在建立从站点端点到供应商的 IPsec 隧道的第 1 阶段一直存在问题。

这是一个有点奇怪的配置,我不确定是否必须启用NAT-T才能使其工作。

  • 我的接口IP是192.168.100.1。

  • IPsec 数据包的源 IP 为 192.168.100.5。

  • IPsec 数据包在穿越“云”时的源 IP 是公共地址。

    == 两次 IPsec 数据包经过 NAT

目前还不清楚(不幸的是我看不到),看看防火墙是否真的在对数据包进行 NAT,或者在生成数据包时实际分配源地址。[是的,我真的看不出来]

在什么情况下,IPsec 隧道需要NAT-T才能建立?

在上述情况下是否需要?

我希望进行测试,但供应商很抗拒。

谢谢,

马特

nat ipsec

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