我正在运行 Windows Server 2008 R2,我们有一个应用程序从(绑定到)服务器上的公共 IP 连接到 127.0.0.1:8334 [连接到侦听 0.0.0.0:8334 的服务]
在 Windows 2003 中,这没有问题。我们可以使用 TCP 从 1.2.3.4 [eg] 连接到 127.0.0.1:8334 就好了。
在 Windows 2008 中,我们发现从公共 IP(例如 1.2.3.4 到 127.0.0.1:8334)的 TCP 连接甚至失败。但该服务接受从 127.0.0.1 到 127.0.0.1:8334 和 127.0.0.1 到 1.2.3.4:8334 的连接。
尝试关闭 Windows 防火墙,配置其日志记录等(没有显示有用的日志条目),但无济于事。这是新网络堆栈的问题吗?
编辑
1.2.3.4 正在尝试连接到同一台机器上的 localhost [127.0.0.1]
主机文件是默认的 Windows 2008 主机文件。
环回检查信息,有趣。试过了……没用。交叉检查以验证 Id 是否正确完成了所有操作 - 我有。
我想知道是否有使用 NAT 或其他方式来转发端口的解决方案 - 如果我将 127.0.0.1:port 转发到 1.2.3.4:port,那会起作用吗?鉴于应用程序侦听 0.0.0.0:port,它将在 1.2.3.4:port 上获取连接
HOSTS 文件确实包含 localhost 127.0.0.1 - 但是,hosts 文件仅用于主机名查找。在这种情况下,我们的应用程序不会查找任何主机名,因为 127.0.0.1 IP 地址被硬编码到其中(而不是 localhost 主机名)。所以 …
在 OS X 10.6 上,您没有iptables,那么永久重定向所有发送到端口 80 的请求到另一个端口(如 8080)的完整解决方案是什么?
它必须是持久的。
是否有可能(真正的措辞应该是“是否正确”)在同一主机上拥有多个属于同一子网的 IP 地址?
下面是一个例子:
#Host 1
eth0 -> 10.0.0.1/24
eth1 -> 10.0.0.2/24
eth1:1 -> 10.0.0.3/24
Run Code Online (Sandbox Code Playgroud)
我的直觉是,由于路由问题,这无法正常工作,但我无法解释为什么我这么认为。
那么这个模式正确吗?如果是,是否常见?这种配置有什么问题?
我目前生活在一个封锁了许多网站并且与外界的网络连接不可靠的国家。我在 Linux 服务器上有两个 OpenVPN 端点(例如:vpn1 和 vpn2),用于绕过防火墙。我可以完全访问这些服务器。这很有效,除了我的 VPN 连接上的高包丢失。这种丢包率随时间的变化在 1% 到 30% 之间变化,并且似乎具有低相关性,大部分时间似乎是随机的。
我正在考虑设置一个家用路由器(也在 Linux 上),它维护与两个端点的 OpenVPN 连接,并将所有数据包发送到两个端点两次。vpn2 会将所有数据包从家庭发送到 vpn1。返回流量将直接从 vpn1 发送到家,也可以通过 vpn2 发送。
+------------+
| home |
+------------+
| |
| OpenVPN |
| links |
| |
~~~~~~~~~~~~~~~~~~ unreliable connection
| |
+----------+ +----------+
| vpn1 |---| vpn2 |
+----------+ +----------+
|
+------------+
| HTTP proxy |
+------------+
|
(internet)
Run Code Online (Sandbox Code Playgroud)
为清楚起见:家庭和 HTTP 代理之间的所有数据包都将被复制并通过不同路径发送,以增加其中之一到达的机会。如果两者都到达,则可以静默丢弃第一个第二个。
带宽使用不是问题,无论是在家庭端还是端点端。vpn1 和 vpn2 彼此靠近(3ms ping)并且具有可靠的连接。
关于如何使用 Linux 中可用的高级路由策略来实现这一点的任何指示?
我正在使用 OSX 的瞻博网络客户端(“网络连接”)来访问客户端的 VPN。客户端似乎配置为不使用拆分路由。客户端的 VPN 主机不愿意启用拆分路由。
有没有办法让我覆盖这个配置,或者在我的工作站上做一些事情来让非客户端网络流量绕过 VPN?这没什么大不了的,但是我的流媒体广播电台(例如 XM)都无法连接到他们的 VPN。
对于术语中的任何不准确之处,我们深表歉意。
** 编辑 **
Juniper 客户端将我的系统的 resolve.conf 文件从:
nameserver 192.168.0.1
Run Code Online (Sandbox Code Playgroud)
到:
search XXX.com [redacted]
nameserver 10.30.16.140
nameserver 10.30.8.140
Run Code Online (Sandbox Code Playgroud)
我已尝试将首选 DNS 条目恢复到文件中
$ sudo echo "nameserver 192.168.0.1" >> /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
但这会导致以下错误:
-bash: /etc/resolv.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)
超级用户帐户如何无法访问此文件?有没有办法阻止瞻博网络客户端更改此文件?
在 Linux 机器上有 2 个接口:
Bond0: inet addr:170.242.57.113 Bcast:170.242.57.255 Mask:255.255.255.0
Eth4 : inet addr:172.21.136.124 Bcast:172.21.137.255 Mask:255.255.254.0
Run Code Online (Sandbox Code Playgroud)
因为 eth4 在不同的网络上,我想设置一个新路由,因此
used route-eth4
ADDRESS0=172.21.136.0
NETMASK0=255.255.254.0
GATEWAY0=172.21.137.251
Run Code Online (Sandbox Code Playgroud)
但这失败了,查看 ifup 并确定 /etc/sysconfig/network-scripts/ifup-routes 是设置路由的脚本,发出以下命令
ip route add 172.21.136.0/23 via 172.21.137.251 dev eth4
RTNETLINK answers: File exists
Run Code Online (Sandbox Code Playgroud)
看起来无法为 /23 添加路由
但如果我用 2 /24 来做就行
ip route add 172.21.136.0/24 via 172.21.137.251 dev eth4
ip route add 172.21.137.0/24 via 172.21.137.251 dev eth4
netstat –nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irttIface
172.21.137.0 172.21.137.251 255.255.255.0 …Run Code Online (Sandbox Code Playgroud) 我正在 Amazon EC2 实例上的 Linux 实例和通过其 Cisco 集中器的远程网络之间使用 strongSwan 设置 VPN。我需要从远程子网中的一台机器上的 Linux 实例本身路由数据包。
连接建立正常,但没有数据包被路由。
我想我需要设置一些特定的路由规则,我应该怎么做?
config setup
conn %default
keyexchange = ikev1
type = tunnel
ikelifetime = 86400
keylife = 28800
keyingtries = %forever
esp = 3des-sha
ike = 3des-md5-modp1024
forceencaps = yes
leftauth = psk
rightauth = psk
conn myconnection
left = 172.x.x.x
leftsubnet = …Run Code Online (Sandbox Code Playgroud) 我一直试图了解在 CentOS 6.x 机器上添加静态路由的正确方法是什么。在一些论坛,他们说创建一个名为文件route-dev_name与相关途径(例如路由的eth0),并把它放在/etc/sysconfig/network-scripts,在一些论坛上,他们说该文件应该被命名static-routes,在这两种情况下,我无法设置静态路由。似乎在某些 CentOS 发行版中,它仅在命名文件route-dev_name时才有效,而在某些 CentOS 发行版中,它仅在命名文件时有效static-routes.. 任何人都可以帮助我吗?这是我的路由文件的内容:
192.168.20.0/24 via 192.168.20.253 dev eth0
Run Code Online (Sandbox Code Playgroud)
提前致谢
我正在尝试设置一个 OpenVPN tun 来连接两个局域网
打开的 vpn 连接已启动并正常工作,但我的路由或 nat 或其他问题存在问题。
我需要的是一个工作的、路由的 openvpn 设置在服务器端和客户端应该是什么样子的例子。主要是路由表、NAT翻译、防火墙等。
我的 OpenVPN 客户端可以访问服务器端的网络,但我的服务器甚至无法 ping 我的 OpenVpn 客户端 eth0
我的服务器路由:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.3.0 10.8.0.2 255.255.255.0 UG 0 0 …
我在通过 systemd-networkd 添加直接路由时遇到问题。我想要实现的目标类似于:
ip a a 192.168.0.2/32 dev enp0s3
ip r a 192.168.0.1/32 dev enp0s3
ip r a default via 192.168.0.1
Run Code Online (Sandbox Code Playgroud)
这是奇怪的设置,我知道,但我不能使用通常ip a a 192.168.0.2/24到达网关。由于某种原因,整个 /24 子网都可以通过该子网中的网关访问。因此,此默认路由不仅适用于所有路由,还适用于到达子网。所以,我创建了/etc/systemd/network/enp0s3.network:
[Match]
Name=enp0s3
[Address]
Address=192.168.0.2/32
[Route]
Destination=192.168.0.1/32
[Route]
Gateway=192.168.0.1
Run Code Online (Sandbox Code Playgroud)
此设置的问题Route在于永远不会执行第二个块。我做了一些调试,这是第一个块的功能ip和systemd-networkd功能之间的区别Route。
# ip
192.168.0.1 dev enp0s3 scope link
# networkd
192.168.0.1 dev enp0s3 proto static
Run Code Online (Sandbox Code Playgroud)
所以systemd-networkd不会添加scope link到路由中。这就是尝试通过添加默认路由192.168.0.1失败并Network is unreachable出现错误的原因。这可以通过
ip r c 192.168.0.1/32 dev enp0s3 # automatically …Run Code Online (Sandbox Code Playgroud) routing ×10
ip ×3
linux ×2
networking ×2
openvpn ×2
centos6 ×1
cisco-asa ×1
firewall ×1
ip-routing ×1
juniper ×1
localhost ×1
nat ×1
split-tunnel ×1
strongswan ×1
systemd ×1
vpn ×1
windows ×1