标签: ip

如何更改 Windows 上的全局广播地址 (255.255.255.255) 行为?

期望的行为

当应用程序向全局广播 IP 地址发送数据包时255.255.255.255,我希望将数据包发送到ff:ff:ff:ff:ff:ff所有接口上的以太网全局广播地址 ( )。

在 Linux 和其他操作系统上,这似乎也有效。Windows XP 和 Windows 7 在这方面表现出不同的行为,对于我的情况,这两种行为都是不可取的。

Windows XP 行为

数据包将正确发送到第一个网络接口(接口顺序在“网络连接/高级/高级设置”中指定)。它也将被发送到其他接口。

到目前为止一切正常。问题是,当发送到其他接口时,广播数据包的源地址是第一个接口的IP地址。例如,想象一下这个网络配置(顺序很重要):

  • 适配器 1:IP 地址 192.168.0.1
  • 适配器 2:IP 地址 10.0.0.1
  • 适配器 3:IP 地址 172.17.0.1

现在,如果我发送广播数据包,将发送以下数据包(带有源和目标 IP 地址):

  • 在适配器 1 上:192.168.0.1=>255.255.255.255

  • 在适配器 2 上:192.168.0.1=>255.255.255.255

  • 在适配器 3 上:192.168.0.1=>255.255.255.255

    实际上,使用广播数据包的应用程序不能在适配器 1 以外的任何接口上工作。在我看来,这是 Windows XP 的 TCP/IP 堆栈中的一个明显错误。

Windows 7 行为

修改网络接口顺序似乎对 Windows 7 没有任何影响。相反,广播似乎由 IP 路由表控制。

IPv4 Route Table
===========================================================================
Active Routes:
Network …
Run Code Online (Sandbox Code Playgroud)

networking windows ip

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

可以在不同的 IP 地址和/或盒子上使用相同的通配符 SSL 证书吗?

例子:

*.example.com 的通配符 SSL 证书安装在两个不同的盒子上。

hostEU.example.com  A  60.70.80.90
hostUS.example.com  A  200.210.220.240
Run Code Online (Sandbox Code Playgroud)

我认为这是一个完全有效的场景,其中实际的主机名不在同一个 IP 上(或者甚至不在同一个盒子上)。

我的假设正确吗?

ssl ip hostname wildcard ssl-certificate

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

Apache 2:SetEnvIf“IP 范围”

在我的 Apache 配置中,如果我看到访问者来自特定的 IP 范围,我想设置一个环境变量。目前我这样做:

SetEnvIfNoCase Remote_Addr "^194\.8\.7[45]\." banned=spammer-ip
SetEnvIfNoCase Remote_Addr "^212\.156\.170\." banned=spammer-ip
Run Code Online (Sandbox Code Playgroud)

我更喜欢的是这样的:

SetEnvIfIpRange 194.8.74.0/23 banned=spammer-ip
SetEnvIfIpRange 212.156.170.0/24 banned=spammer-ip
Run Code Online (Sandbox Code Playgroud)

...因为我认为将IP地址转换为字符串然后执行正则表达式完全浪费资源。

我可以做一个

Deny From 194.8.74.0/23
Run Code Online (Sandbox Code Playgroud)

...但后来我没有得到一个可以在我的 403 错误页面中检查的变量 - 找出访问被拒绝的原因。

有什么建议我可能会错过吗?是否有可以根据“IP 地址范围”设置环境变量的 Apache2 MOD?

ip environment-variables apache-2.2

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

EC2 实例停止和启动时 IP 更改

我在这里有一个关于 EC2 实例的奇怪问题。我刚刚在扩展启动驱动器后停止并启动了 Windows 的 EC2 实例,而不是在我启动实例之后,它在停止启动阶段之前分配的 IP 现在已更改为新 IP。任何人都遇到过类似的问题,还是在停止启动的情况下很常见?

ip amazon-ec2

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

分片的 TCP 分片在 TCP 服务器中保留多长时间

假设给定的 TCP 片段被分成两个 IP 数据报,第一个数据报到达 TCP 服务器,但第二个数据报从未到达。

一定时间后,TCP 服务器发送一个keepalive,并确定客户端是存活的。那么 TCP 服务器如何处理这个第一个数据报?是等待第二个数据报到达,还是丢弃第一个数据报?

ip tcp

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

如何将静态 IP 地址从一个 ISP 移动到另一个

我们有一台 linux 服务器指向一个主要 ISP 的静态 IP 地址。我们最近将该 ISP 更改为新的 ISP,我想知道是否可以通过新的 ISP 移动静态 IP 地址来工作。

甚至可以将静态 IP 地址从 ISP 移动到另一个吗?

networking ip ip-address

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

Openvpn,转发数据包很慢

我重新启动了我的服务器,然后出现了一个奇怪的问题。我在 ArchLinux 上运行,客户端是 Ubuntu、Android 和 Mac。

问题是通过客户端访问互联网很慢,大约 2ko/s 并且慢慢停止。

但是直接从服务器下载一些东西到客户端是全速进行的。而且,显然,来自服务器的互联网全速(40 个月/秒)。

我不知道重启后发生了什么,但是这个问题在所有客户端上都存在,并且只与 openvpn 转发到互联网的流量有关。

编辑:用tcp试过,没有解决。编辑:测试了各种片段/mtu 设置,没有变化。

这是我所有的confs:

??<root@Alduin>-</etc/openvpn>-<1:45:07>-?
??? cat Alduin.conf ccd/Thunderaan
local 212.83.129.104
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/Alduin.crt
key keys/Alduin.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
client-to-client
keepalive 5 60
ping-timer-rem
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
client-config-dir ccd
topology subnet

ccd from here +++++++++++++++


ifconfig-push 10.8.0.2 255.255.255.0
push "redirect-gateway def1"
Run Code Online (Sandbox Code Playgroud)

客户端配置:

client
dev tun
proto udp
remote …
Run Code Online (Sandbox Code Playgroud)

linux routing ip iptables openvpn

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

我可以将 IP 地址重定向/路由到另一个 IP 地址吗(Windows)

我可以将 146.112.61.106 IP 地址映射到我的 127.0.0.1 地址吗?

所以当我输入 146.112.61.106 时,我被重定向到 127.0.0.1 ?(也许是一些 netsh 命令?)

windows ip netsh

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

阻止通过 HTTPS 直接访问网络服务器 IP

thisthis question类似,我想阻止用户使用IP访问我的服务器。

对于 HTTP(端口 80),这可以正常工作,但不适用于 HTTPS。所以用户仍然可以进入https://<myip>访问webserver,nginx返回默认证书。顺便说一句,我在“常用”服务器块中使用 HTTP2(使用我的域名),所以我使用:

listen 443 ssl http2;
listen [::]:443 ssl http2;
Run Code Online (Sandbox Code Playgroud)

我现在尝试使用它来阻止 HTTPS ip 访问:

server {
   listen 443 ssl;
   listen [::]:443 ssl;

   server_name _;
   return 444;
}
Run Code Online (Sandbox Code Playgroud)

然而不幸的是,无论是否使用域,这都会阻止所有 HTTPS 请求。我知道可能有必要阻止非 SNI 客户端,因为这些客户端当然不会将使用的域名传送到服务器,所以我对此表示满意。(我的意思是不支持 SNI 的客户无论如何都是旧的......)

我通常更喜欢在 nginx 中阻止它,但是如果您对在防火墙级别 (iptables) 阻止它有一些想法,我也很高兴看到这些。如果你想争论为什么用 iptables 阻止更好你也可以这样做并说服我也阻止对 IP 的 HTTP [或所有其他] 请求。通常断开连接很好(就像 nginx 状态代码 444 那样)。

但是有一个要求:我不想在配置中明确提及服务器的 IP 地址,因为它是动态 IP 并且服务器使用动态 dns 服务。

简而言之,这就是我想要实现的目标:

  • 通过 IP 阻止访问
  • 允许通过域名访问
  • 可以阻止非 SNI 客户端
  • 可以为此使用防火墙阻止
  • 断开连接很好
  • 不提服务器的IP地址
  • 没有通过 …

nginx ip https web-server

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

如果您的用户能够使用 VPN,则更正网络 IP 地址

我的内部网络是 192.168.0.x,网关是 192.168.0.1。

我有用户将 VPN 连接到我们的防火墙,然后基本上将它们添加到网络中。

但是,如果他们的家用路由器的 IP 地址为 192.168.0.1,那么我们当然会遇到各种问题。

那么,避免这种情况的理想网络地址设置是什么?我已经看到远程用户的路由器地址在 10.x 范围内的设置,所以我不确定我能做些什么来防止这种情况发生。

非常欢迎任何评论!

networking vpn ip

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