当应用程序向全局广播 IP 地址发送数据包时255.255.255.255,我希望将数据包发送到ff:ff:ff:ff:ff:ff所有接口上的以太网全局广播地址 ( )。
在 Linux 和其他操作系统上,这似乎也有效。Windows XP 和 Windows 7 在这方面表现出不同的行为,对于我的情况,这两种行为都是不可取的。
数据包将正确发送到第一个网络接口(接口顺序在“网络连接/高级/高级设置”中指定)。它也将被发送到其他接口。
到目前为止一切正常。问题是,当发送到其他接口时,广播数据包的源地址是第一个接口的IP地址。例如,想象一下这个网络配置(顺序很重要):
192.168.0.110.0.0.1172.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 没有任何影响。相反,广播似乎由 IP 路由表控制。
IPv4 Route Table
===========================================================================
Active Routes:
Network …Run Code Online (Sandbox Code Playgroud) 例子:
*.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 上(或者甚至不在同一个盒子上)。
我的假设正确吗?
在我的 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?
我在这里有一个关于 EC2 实例的奇怪问题。我刚刚在扩展启动驱动器后停止并启动了 Windows 的 EC2 实例,而不是在我启动实例之后,它在停止启动阶段之前分配的 IP 现在已更改为新 IP。任何人都遇到过类似的问题,还是在停止启动的情况下很常见?
假设给定的 TCP 片段被分成两个 IP 数据报,第一个数据报到达 TCP 服务器,但第二个数据报从未到达。
一定时间后,TCP 服务器发送一个keepalive,并确定客户端是存活的。那么 TCP 服务器如何处理这个第一个数据报?是等待第二个数据报到达,还是丢弃第一个数据报?
我们有一台 linux 服务器指向一个主要 ISP 的静态 IP 地址。我们最近将该 ISP 更改为新的 ISP,我想知道是否可以通过新的 ISP 移动静态 IP 地址来工作。
甚至可以将静态 IP 地址从 ISP 移动到另一个吗?
我重新启动了我的服务器,然后出现了一个奇怪的问题。我在 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) 我可以将 146.112.61.106 IP 地址映射到我的 127.0.0.1 地址吗?
所以当我输入 146.112.61.106 时,我被重定向到 127.0.0.1 ?(也许是一些 netsh 命令?)
与this和this 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 服务。
简而言之,这就是我想要实现的目标:
我的内部网络是 192.168.0.x,网关是 192.168.0.1。
我有用户将 VPN 连接到我们的防火墙,然后基本上将它们添加到网络中。
但是,如果他们的家用路由器的 IP 地址为 192.168.0.1,那么我们当然会遇到各种问题。
那么,避免这种情况的理想网络地址设置是什么?我已经看到远程用户的路由器地址在 10.x 范围内的设置,所以我不确定我能做些什么来防止这种情况发生。
非常欢迎任何评论!
ip ×10
networking ×3
windows ×2
amazon-ec2 ×1
apache-2.2 ×1
hostname ×1
https ×1
ip-address ×1
iptables ×1
linux ×1
netsh ×1
nginx ×1
openvpn ×1
routing ×1
ssl ×1
tcp ×1
vpn ×1
web-server ×1
wildcard ×1