我有一个关于 ipv6 客户端调用的 X-Forwarded-For 标头/ipv4 服务器的问题。
如果服务器收到通过 NAT64/DNS64 传输的请求,X-Forwarded-For 标头是否保持不变 (IPv6)?
这是否意味着每个服务(使用此标头)都需要适应新协议?
干杯
我想要以下规则转发 tcp 数据包从127.0.0.1:32770
到172.17.0.36:1000
和转发数据包从127.0.0.1:32771
到172.17.0.36:10001
和转发数据包从127.0.0.1:32772
到172.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
在 WebRTC 信令过程中,我必须通过向 STUN 服务器发出请求来找到我自己的公共 IP 地址和端口。但它真的需要这么复杂吗?
难道我不能只向子网的路由器发送请求并获取其 IP 地址和它为我打开的端口吗?或者更好的是,我直接将我的公共地址存储在我的计算机中,每当它发生变化时路由器都会通知我。浏览器会提供一个API来直接获取这个公共地址。无需使用 STUN 服务器。我们为什么不这样做呢?
感谢您的帮助。
我似乎有一个与此问题类似的问题,因为在 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) 我正在研究p2p应用程序,所有这些NAT-PMP和UPNP NAT遍历场景都是如此令人不愉快.关于什么时候IPv6将被普遍使用的任何想法?
我想创建自己的用户模式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 ] _ /
我的应用程序根本不绑定任何端口 - 它只从接口捕获.
我看到了这种情况:
Windows Server 2003重置我的NATed连接.我根本不想绑定任何端口.
我怎么处理这个?
更新:
user1202136,怎么可能:
使用Windows防火墙阻止来自用户空间NAT使用的端口的RST数据包.
没有编写自己的NDIS驱动程序?
我试图了解NAT EC2实例和常规EC2实例之间的区别.我创建了两个EC2实例a)来自社区AMI的NAT实例并禁用了源/目标检查b)创建了常规EC2实例t2.micro并禁用了源/目标检查.当我在主路由表中使用选项b时,它不提供与私有子网中的ec2实例的互联网连接.注意:我可以SSH 选项b中提到的常规EC2实例,也可以通过Internet访问index.html文件.
有人可以解释是什么使常规EC2实例成为NAT实例吗?
我一直致力于将 Amazon Lambda 函数与 mySQL 数据库和外部 API 的 RDS 连接集成。要访问 API,需要有一个 Internet 网关,然后是允许从0.0.0.0/0
.
我有一个公共子网和一个私有子网。公共子网路由到 Internet 网关,而私有子网路由到 NAT。
这让我想到,如果我使用公共子网运行 Lambda 函数,它会连接到 Internet。但是,每次都超时。但是,当我从私有子网中运行 lambda 函数时,它起作用了!因此,NAT 似乎可以工作,因为这是与私有 sunet 相关联的,但仅使用 Internet 网关是行不通的。
有没有人对此有任何解释?
我在不同的计算机上有两个应用程序,而不是通过Remoting Channel相互连接.我想从不同网络(通过Internet)的客户端控制服务器.