标签: nat

ipv6 客户端调用 ipv4 服务器的 X-Forwarded-For 标头

我有一个关于 ipv6 客户端调用的 X-Forwarded-For 标头/ipv4 服务器的问题。

如果服务器收到通过 NAT64/DNS64 传输的请求,X-Forwarded-For 标头是否保持不变 (IPv6)?

这是否意味着每个服务(使用此标头)都需要适应新协议?

干杯

dns ipv4 nat ipv6

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

是否可以映射 1:1 端口范围 iptable DNAT 规则

我想要以下规则转发 tcp 数据包从127.0.0.1:32770172.17.0.36:1000 和转发数据包从127.0.0.1:32771172.17.0.36:10001 和转发数据包从127.0.0.1:32772172.17.0.36:10002

iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 32770:32771 -j DNAT --to-destination 172.17.0.36:1000-1002
Run Code Online (Sandbox Code Playgroud)

但目前它可以将所有数据包转发127.0.0.1:32770-32771到任何一个172.17.0.36:1000-1002

iptables nat

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

STUN 服务器真的有必要吗?

在 WebRTC 信令过程中,我必须通过向 STUN 服务器发出请求来找到我自己的公共 IP 地址和端口。但它真的需要这么复杂吗?

难道我不能只向子网的路由器发送请求并获取其 IP 地址和它为我打开的端口吗?或者更好的是,我直接将我的公共地址存储在我的计算机中,每当它发生变化时路由器都会通知我。浏览器会提供一个API来直接获取这个公共地址。无需使用 STUN 服务器。我们为什么不这样做呢?

感谢您的帮助。

nat stun webrtc

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

GCP Nat 超时

我似乎有一个与问题类似的问题,因为在 GCP 上使用 gitlab runner 构建 docker 映像时出现以下超时

Put https://registry.gitlab.com/v2/[redacted-repo]: dial tcp 35.227.35.254:443: i/o timeout
Run Code Online (Sandbox Code Playgroud)

此时我的谷歌云 NAT 给出了以下日志输出:

{
   "insertId": "rh7b2jfleq0wx",
   "jsonPayload": {
     "allocation_status": "DROPPED",
     "endpoint": {
       "project_id": "gitlab-autoscale-runners",
       "vm_name": "runner-5dblbjek-auto-scale-runner-1589446683-0b220f90",
       "region": "europe-west4",
       "zone": "europe-west4-b"
     },
     "connection": {
       "protocol": 6,
       "src_port": 42446,
       "src_ip": "some-ip",
       "dest_ip": "some-ip",
       "dest_port": 443
     },
     "vpc": {
       "vpc_name": "default",
       "subnetwork_name": "default",
       "project_id": "gitlab-autoscale-runners"
     },
     "gateway_identifiers": {
       "gateway_name": "gitlab-runner-gateway",
       "router_name": "gitlab-runner-router",
       "region": "europe-west4"
     }
   },
   "resource": {
     "type": "nat_gateway",
     "labels": {
       "region": "europe-west4",
       "router_id": "7964886332834186727", …
Run Code Online (Sandbox Code Playgroud)

nat google-cloud-platform google-cloud-networking

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

IPv6观点

我正在研究p2p应用程序,所有这些NAT-PMP和UPNP NAT遍历场景都是如此令人不愉快.关于什么时候IPv6将被普遍使用的任何想法?

p2p nat ipv6

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

如何在没有任何绑定端口的情况下编写用户模式NAT?

我想创建自己的用户模式NAT应用程序.

我有以下方案:

VM2 [192.168.8.2 ] ------ [192.168.8.1 ] Win2003 [192.168.9.1 ] ------ [192.168.9.2 ] VM1

VM3 [192.168.8.3 ] _ /

VM4 [192.168.8.4 ] _ /

  1. 我正在8.1和9.1接口上捕获RAW IP数据包.
  2. 来自8.1的一些数据包以这种方式转移到9.1接口:8.2-> 9.2由9.1-> 9.2替换
  3. 来自9.1的一些数据包以这种方式转移到8.1接口:9.2-> 9.1由9.2-> 8.2替换

我的应用程序根本不绑定任何端口 - 它只从接口捕获.

我看到了这种情况:

  1. 8.2-> 9.2翻译为9.1-> 9.2包含SYN标志
  2. 9.2-> 9.1转换为9.2-> 8.2包含SYN + ACK标志
  3. 第2步中包含9.1-> 9.2与RST标志...

Windows Server 2003重置我的NATed连接.我根本不想绑定任何端口.

我怎么处理这个?

更新:

user1202136,怎么可能:

使用Windows防火墙阻止来自用户空间NAT使用的端口的RST数据包.

没有编写自己的NDIS驱动程序?

sockets tcp nat capture tcp-ip

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

AWS -VPC-什么使EC2成为NAT实例

我试图了解NAT EC2实例和常规EC2实例之间的区别.我创建了两个EC2实例a)来自社区AMI的NAT实例并禁用了源/目标检查b)创建了常规EC2实例t2.micro并禁用了源/目标检查.当我在主路由表中使用选项b时,它不提供与私有子网中的ec2实例的互联网连接.注意:我可以SSH 选项b中提到的常规EC2实例,也可以通过Internet访问index.html文件.

有人可以解释是什么使常规EC2实例成为NAT实例吗?

nat amazon-ec2 vpc amazon-web-services

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

带有 VPC 的 AWS Lambda 函数仅在私有子网中有效

我一直致力于将 Amazon Lambda 函数与 mySQL 数据库和外部 API 的 RDS 连接集成。要访问 API,需要有一个 Internet 网关,然后是允许从0.0.0.0/0.

我有一个公共子网和一个私有子网。公共子网路由到 Internet 网关,而私有子网路由到 NAT。

这让我想到,如果我使用公共子网运行 Lambda 函数,它会连接到 Internet。但是,每次都超时。但是,当我从私有子网中运行 lambda 函数时,它起作用了!因此,NAT 似乎可以工作,因为这是与私有 sunet 相关联的,但仅使用 Internet 网关是行不通的。

有没有人对此有任何解释?

nat subnet vpc amazon-web-services aws-lambda

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

我如何在互联网上使用.net Remoting

我在不同的计算机上有两个应用程序,而不是通过Remoting Channel相互连接.我想从不同网络(通过Internet)的客户端控制服务器.

  • 我怎么能这样做?
  • 是否可以将Remoting配置为在NAT中绕过/打孔?

.net c# remoting nat nat-traversal

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