标签: port-forwarding

使用 Windows Server 2008 进行端口转发

我有 Windows 2008 服务器。它可以用作邮件、ftp、Web 服务器。在我的 LAN 中有其他服务器,我想从我的 LAN 外部使用 RDC 访问该服务器(例如:domail.com:5555 -> 192.168.0.2:3389)。是否有任何解决方案可以使用 Windows 防火墙转发此端口?

windows-server-2008 port-forwarding rdc

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

UDP自动穿越路由器,无需路由器端口转发?

每个人都知道路由器就像防火墙一样工作。如果没有端口转发,则无法从路由器外部发起连接(无论是 TCP 还是 UDP)。但是,如果用户从路由器内部成功发起 TCP 连接,则路由器的双方就可以相互通信。

UDP 会发生什么?如果路由器后面的用户(他对端口转发根本不做任何事情)将 UDP 发送到外部 pc(假设没有任何防火墙或任何停止在该 pc 中接收数据报的东西),并且 pc 接收它。如果 PC 想要将一些数据发送回路由器后面的用户怎么办?用户能否接收到数据?或者数据可以通过路由器而无需任何特殊操作?

我问这个是因为每个人都知道 UDP 是无连接的。但是,我相信一些在线射击游戏使用UDP。如果我加入服务器玩,我不需要做任何关于端口转发的事情,但是我和服务器之间的udp数据传输仍然可以工作。

有什么可以向我解释一下吗?

非常感谢。

杰克

router port-forwarding udp

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

ssh 端口转发在 10 个同时连接后冻结

我正在使用端口转发来利用远程机器上的代理服务器。

远程机器主机名是remotemachine. 代理正在侦听 8118 端口。我正在将此端口转换为本地端口 5223。

ssh -vvv -N remotemachine -L 5223:localhost:8118
Run Code Online (Sandbox Code Playgroud)

如果我不使用超过 10 个同时连接,当 ssh 冻结时,一切都很好。它不再通过端口转发发送数据。

ab -c 10 -t 5 -X 'localhost:5223' 'http://www.google.ru/'工作,但ab -c 20 -t 5 -X 'localhost:5223' 'http://www.google.ru/'导致 ssh 冻结

MaxSessions 30参数 in/etc/ssh/sshd_config根本没有帮助。

我该怎么做才能消除这 10 个连接限制?

-vvv输出中没有什么有趣的=(

ssh proxy port-forwarding ssh-tunnel

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

子域的端口

我已经使用 apt-get 安装了 Hudson,并且 Hudson 服务器在example.com:8080.

因为example.com我使用标准端口 *:80 和一些虚拟主机这样设置:

# /etc/apache2/sites-enabled/subdomain.example.com
<Virtualhost *:80>
  ServerName subdomain.example.com
  ...
</Virtualhost>
Run Code Online (Sandbox Code Playgroud)

以下是有关哈德逊过程的信息:

/usr/bin/daemon --name=hudson --inherit --env=HUDSON_HOME=/var/lib/hudson --output=/var/log/hudson/hudson.log --pidfile=/var/run/hudson/hudson.pid -- /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
  987 ?        Sl     1:08 /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
Run Code Online (Sandbox Code Playgroud)

我应该如何转发:

    http:// example.com:8080  
Run Code Online (Sandbox Code Playgroud)

到:

    http:// hudson.example.com
Run Code Online (Sandbox Code Playgroud)

ubuntu port-forwarding virtualhost hudson apache-2.2

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

使用 iptables 通过 Linux 机器转发 RDP:不起作用

我在实现 NAT 的路由器后面有一台 Linux 机器和一台 Windows 机器(该图可能有点矫枉过正,但制作起来很有趣):

网络设置

我将路由器上的 RDP 端口 (3389) 转发到 Linux 机器,因为我想审核 RDP 连接。为了让 Linux 机器转发 RDP 流量,我写了这些 iptables 规则:

iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination win-box
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

该端口正在 Windows 机器上侦听:

C:\Users\nimmy>netstat -a

Active Connections

  Proto  Local Address          Foreign Address        State
  (..snip..)
  TCP    0.0.0.0:3389           WIN-BOX:0         LISTENING
  (..snip..)
Run Code Online (Sandbox Code Playgroud)

并且端口正在 Linux 机器上转发:

# tcpdump port 3389
tcpdump: verbose output suppressed, use -v or -vv …
Run Code Online (Sandbox Code Playgroud)

linux windows iptables remote-desktop port-forwarding

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

将 IMAP 服务器暴露给 Internet:DMZ 还是端口转发?

我们目前将所有电子邮件存储在我们内部网络的 Dovecot IMAP 服务器上。网络上的客户端机器能够连接和访问他们的电子邮件。

现在我们希望允许某些用户能够使用 IMAP 从外部连接并查看他们的电子邮件。我们目前有一个带有专用(未使用)DMZ 端口的防火墙/路由器。在我看来,我们有两种选择:

  1. 在路由器上设置端口转发,将端口 585 或 993 上的任何 IMAP 请求转发到服务器;然后服务器可以验证用户。
  2. 将反向代理 IMAP 服务器附加到路由器的 DMZ;这反过来可以将 IMAP 请求转发到内部网络上的服务器(在这样做之前可以选择验证用户名)。

有没有人对这两种方法的优点有任何建议/意见?

我发现很难想到在三足防火墙的 DMZ 中拥有额外的反向代理有什么读取优势,因为无论如何它几乎只是有效地进行端口转发。......或者我错过了什么?

dmz reverse-proxy port-forwarding imap

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

通过 OpenVPN 进行端口转发

这是我的场景。我有三个主机。

1) GATEWAY 运行 OpenVPN 服务器。它有 1 个 LAN IP (192.168.1.10) 和 1 个 OpenVPN IP (10.8.0.1)。

2)LOCAL-CLIENT,与GATEWAY在同一个局域网内的机器,有1个局域网IP(192.168.1.12)

3) REMOTE-SERVER,一个 MySQL 服务器,它是 OpenVPN 服务器的客户端。它有 1 个公共 IP 和 1 个 OpenVPN IP (10.8.0.51)。

我希望能够通过 VPN 从本地客户端连接到远程服务器上的 MySQL。

到目前为止,我已经启用了 IP 转发并添加了一个端口转发,如下所示:

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A OUTPUT -p tcp --dport 3306 -j DNAT --to 10.8.0.51
Run Code Online (Sandbox Code Playgroud)

这适用于 GATEWAY,我可以使用 192.168.1.10 作为主机连接到 MySQL。但是当我从 LOCAL-CLIENT 尝试时,我收到“连接被拒绝”错误(使用 MySQL 客户端或 telnet 到端口 3306)。

我在这里缺少什么?

顺便说一句,我还尝试转发 HTTP 端口以针对也在远程服务器上运行的 Apache 进行测试,我得到了相同的结果,所以这不是 MySQL 问题。

更多信息:

Kernel IP …
Run Code Online (Sandbox Code Playgroud)

iptables openvpn port-forwarding

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

防止关闭 SSH 本地端口转发

我在 Azure 上运行的 Ubuntu 虚拟机上运行各种服务,我想远程访问某些服务,即使端口没有公开开放。为此,我设置了一个脚本来使用 SSH进行本地端口转发

通常这是通过启动到远程主机的连接,执行sleep 10,并在 sleep 命令完成之前在转发的端口上建立连接来工作的。这在使用保持连接活动的服务时很有效,例如远程 SMB 共享。

但是我在访问 Web 服务时遇到问题,因为连接在一段时间后关闭 - 建立连接后 10-90 秒。

为了在它关闭时重新连接连接,我根据这个SO 线程编写了这个小脚本。

while true; do { \
    while true; do \
      echo echo ping; sleep 10; \
    done } | ssh -f myapp.cloudapp.net -F .ssh/myapp.cloudapp.net_config  \
             -o ExitOnForwardFailure=yes  sleep 10; echo "$(date) I died"; 
    sleep 1;
done
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个“修复”有点不稳定,并且连接经常断开,因此浏览器每五个请求就会挂起。它有效,但远非完美,所以我想要一个更好的方法。也许可能有某种脚本进行长轮询之类的?有谁解决了这个问题?

port-forwarding ssh-tunnel

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

SSH:-L 和-R 有什么区别?

我查看了 ssh 手册 ( man ssh) 并阅读了-L-R选项的定义,但不太明白其中的区别。两者似乎都能够将请求转发到所需的主机和端口。有人可以尝试向孩子解释其中的区别吗……这两个选项之间的主要区别是什么?

linux ssh port port-forwarding ssh-tunnel

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

局域网内可以进行端口转发测试吗?Mikrotik 路由器

我在 Mikrotik 路由器上设置了端口转发,但路由器操作系统 (v6.39.2)似乎比我习惯的标准现成路由器接口复杂得多。我按照这里的说明进行操作,这些是我在 IP/防火墙/NAT 中输入的设置:

- Chain: dstnat
 - Protocol: 6 (tcp)
 - Dst Port: 8000
 - In. Interface: all Ethernet (for testing purposes) 
 - Action: dst-nat
 - Log: yes (for testing purposes)
 - To Addresses: 192.168.1.33
 - To Ports: 8000
Run Code Online (Sandbox Code Playgroud)

因为看起来 8000 端口还没有在外网正式开放(等待有人这样做,同时我检查了它是否在yougetsignal.com 上打开)我想至少测试一下我的如果可能,端口转发规则在本地网络内有效。

当我尝试192.168.1.1:8000在 Web 浏览器中访问时,我在 NAT 规则设置的速率图中看到了一些活动。但是网络浏览器仍然只给我一个“无法访问此站点”的响应。

我希望它会将我转发到192.168.1.33:8000. 这应该可能吗?还是我做错了什么?

router nat port-forwarding

5
推荐指数
2
解决办法
2771
查看次数