Articles of port forwarding

有些东西(但不是iptables)神秘地redirectnetworkingstream量 – 如何诊断?

概要 有一个虚拟主机(1.1.1.5)和一个路由客人(1.1.1.6)。 有些东西将端口25上的任何stream量redirect到客户端,无论是stream入还是stream出,都到达了端口2525的1.1.1.5,我找不到什么东西。 当然,ips和mac是为了这个post而改变的。 build立 我有以下设置: 有一个IP 1.1.1.5的debian根服务器,托pipe一个virtualbox服务器 第二个IP(1.1.1.6)被路由到这个服务器 这个第二个IP被路由到一个虚拟networking接口“virbr1”,这个接口被一个debian virtualbox访客邮件服务器使用 在根服务器上,iptables正在运行并使用ufw进行configuration 设置工作完美 – 我可以ping通1.1.1.6上的邮件服务器,并达到其networking界面等,邮件服务器可以到达互联网,一切都很好, 除了一个端口 :试图到端口25上的邮件服务器无法正常工作。 这不是关于ISP阻止端口25或类似的东西,更复杂。 阅读:) 问题的诊断 从外部Telnet 当我尝试从另一台服务器telnet时: telnet 1.1.1.6 25 连接将超时。 在主机系统的系统日志(1.1.1.5)中,出现以下来自IP表的消息: [UFW BLOCK] IN=eth0 OUT= MAC=c8:c8:c8:c8:c8:c8:c8:fe:3d:46:e6:0f:08:00 SRC=2.2.2.5 DST=1.1.1.5 LEN=64 TOS=0x00 PREC=0x00 TTL=55 ID=45855 DF PROTO=TCP SPT=64059 DPT=2525 WINDOW=65535 RES=0x00 SYN URGP=0 有一件重要的事情要注意:我试图连接到1.1.1。 6端口25 ,但iptables块发生在1.1.1。 5在2525港口 从访客信箱中远程login 当我SSH到邮件服务器客人,然后telnet另一台服务器: telnet 9.9.9.5 […]

在Mac OS 10.9上使用pf进行端口转发

我必须在Mac OS 10.9上设置端口转发。 Mac连接到一个OpenVPN,我需要访问另一台机器的私人networking的MAC通过该VPN。 显然,Mac OS使用OpenBSD 4.3中的pf,所以我尝试了这样的规则: rdr on tun0 inet proto tcp from any to 10.8.0.10 port 8007 – > 192.168.0.158 port 80 当我从服务器连接到10.8.0.10:8007我得到一个超时。 我尝试了相同的规则,用en0replacetun0,用ipreplacevpn ip,并尝试从同一个专用networking上的计算机访问端口,并使用wireshark和tcpdump,我可以看到数据包被正确地转发到192.168.0.158但该设备直接响应我的电脑,而不是mac。 所以我想我需要一些规则来取代源IP与MAC IP,但我不知道如何写这个。 我尝试使用icefloor,但出于某种原因,它想要启用互联网共享应用nat规则,这不是我想要的,但仍然无法正常工作。 谢谢

mswindows中的高可用性端口转发

我需要端口转发为mswindows主机,但我需要的东西,可以处理多个目标与故障转移。 在Linux / Unix(haproxy,balance,pound ….)上没有工具可以做到这一点。 我相信它可能使用netsh add v4tov4来实现端口转发,但是这只允许一个目标?

通过UFW将SSH转发到OpenVPN客户端

我有一个运行OpenVPN网关和ufw的Ubuntu 14服务器。 我们称之为服务器A. 我有永久连接的服务器(服务器B)的IP预留。 它总是连接到OpenVPN并获得10.8.0.10的IP。 我需要将连接转发到服务器A上的端口5010到服务器B的端口22(SSH)。 我在以下的事件中有以下几点: # NAT table rules *nat :PREROUTING ACCEPT [0:0] # Route SSH to archimedes -A PREROUTING -p tcp -i eth0 –dport 5010 -j DNAT –to-destination 10.8.0.10:22 :POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o tun0 -j MASQUERADE # END OPENVPN RULES […]

debugging端口转发以远程使用Jupyter笔记本

我正在试图在远程计算机上使用Jupyter笔记本。 设置如下:我有我的家里的笔记本电脑,可以ssh到我的大学的networking上的特定计算机(例如, gateway.myuniv.edu )。 一旦我login到gateway.myuniv.edu ,我可以ssh到我想运行Jupyter笔记本服务器(例如cluster.myuniv.edu )的计算机上。 什么工作 :我可以在网关上运行服务器,并使用本地端口转发从我的笔记本电脑连接到它,如下所示: 在gateway.myuniv.edu $ jupyter notebook –no-browser –port 8888 在我的笔记本电脑上: $ ssh -v -N -L 9000:localhost:8888 [email protected] 然后在笔记本电脑的浏览器上打开url: http://localhost:9000 什么都行不通 :我不想在网关上运行服务器,因为我不能在那里进行大量的计算。 我试图做到以下几点: 在cluster.myuniv.edu $ jupyter notebook –no-browser –port 8888 在我的笔记本电脑上: $ ssh -v -N -L 9000:cluster.myuniv.edu:8888 [email protected] 然后在笔记本电脑的浏览器上打开url: http://localhost:9000 。 这不起作用:SSH说连接被拒绝。 我不明白为什么会发生这种情况,以及如何debugging,会很乐意提供任何帮助。 谢谢!

No-IP ddns服务需要一段时间还是我configuration不正确?

我试图连接到一个networking上的设备,从另一个networking远程连接。 我做了一个graphics来帮助说明我正在尝试做什么: 那么noip.com服务需要一段时间来更新DNS服务器,或者我(可能更可能)搞砸或忘了一步? 如果你不能读我的笔迹,那么我做了什么: – set up noip.com hostname On the device: – Installed noip2 program – Added it to /etc/rc.local to start on boot – Ran service test from noip.com (says updated successfully) – Checked username/password for device – Rebooted – Confirmed noip2 service is running On Router X (the one I can access): […]

如何删除不正确的ssh连接后sshd仍然使用的端口绑定?

注意:这个post不是 SSH远程端口转发失败的副本。 这里的问题不是导致端口转发(暂时)失败的原因,我们知道它是什么。 问题是如何删除损坏的sshd端口绑定。 谢谢。 我有一个运行autossh的dynamicIP的服务器A来维护一个带有静态IP的机器B的反向隧道。 下面的代码工作正常: autossh -M 0 -q -N -R2222:localhost:22 -o ServerAliveInterval 60 -o ServerAliveCountMax 3 -o ExitOnForwardFailure yes USER@B -p PORT 但是,当由于A的IP更改导致连接崩溃时,需要“很长”的时间(例如一个小时)才能恢复连接。 这是因为来自机器B的sshd仍然监听端口2222,从而防止在发生崩溃后ssh(从机器A)绑定端口2222。 来自B的auth.log包含数十个: Accepted publickey for USER from A port SOMEPORT ssh2: ED25519 XXXXXXXX error: bind: Address already in use error: channel_setup_fwd_listener_tcpip: cannot listen to port: 2222 直到连接终于被接受而没有转发失败(导致autossh停止respawning ssh,如等待),因为sshd终于不再监听端口2222。 我怎么能(至less手动)告诉sshd(在机器B上)它不应该再听2222端口,所以我可以不用等一个小时就恢复连接(并且不需要重新启动机器B)? […]

apache在80上监听,但不在任何其他端口上

我想改变一个工作Apache的example.comconfiguration(exampleIP = 1.2.3.4),从默认的端口80改变到8001端口,使得http://example.com:8001应该工作。 我无法这样做,并将logging我所尝试的。 我想我可能需要iptables的帮助。 我的/ etc / hosts首先是好的 1.2.3.4 example.com 我开始用8001replace80端口在以下地方 /etc/apache2/ports.conf 听1.2.3.4:8001 /etc/apache2/conf.d/virtual.conf NameVirtualHost 1.2.3.4:8001 /etc/apache2/sites-enabled/example.com <VirtualHost 1.2.3.4:8001> ServerName example.com:8001 #UPDATE: ServerName example.com doesn't make a difference either </虚拟主机> 当我用80replace上述3种情况下的8001时,它就起作用了。 与8001我不能build立连接。 tcpdump也不会显示传入的请求。 由于apache守护进程重新启动时没有抛出任何错误,我试图确认,如果web服务器正在侦听8001 $ sudo lsof -i |grep 8001 apache2 731 root 3u IPv4 46858730 TCP example.com:8001 (LISTEN) apache2 734 www-data 3u IPv4 […]

通过两个局域网端口80发送stream量,并启用SSH隧道。 如何设置服务器

我想通过端口3000向主机B发送stream量,我可以访问这个graphics中的所有节点,这两个lans之间唯一打开的端口是Linux Box B到Linux机箱A的80端口。 所以我做了一个“ ssh -R 1206:192.168.1.10:22 [email protected] -p 80 ”,然后通过“ ssh -L 3000:10.10.10.10:3000 disp@localhost -1206 ” 如果我正确的话,现在在Linux Box A上侦听端口3000,并通过隧道将它发送到Linux Box B到端口3000? 我的逻辑是正确的吗? 我现在怎么能把这个stream量路由到主机B上的端口3000 如果我想要双向连接“从B到A”这怎么办呢?

Windows Server端口将SSH转发到多个用户的Telnet

我使用专门的数据库框架(IntersystemsCaché)进行了多个安装,其中包含运行在端口23上的Telnet服务器。虽然该产品在Windows Server 2008,AIX和Linux(特别是RedHat Enterprise Linux)上运行,但是我支持的安装完全利用Windows Server 2008操作系统。 这是目前该产品唯一支持的命令行系统; 不支持SSH或任何其他forms的encryption接口。 Telnet界面 – 根据设备的大小 – 一次最多可以处理数百个用户/会话。 我不熟悉这个未encryption的通信,我想在服务器上build立一个外部(到框架)系统来允许encryption。 我想要做的就是限制Caché的Telnet端口只监听本地主机(127.0.0.1)上的端口23,并在服务器本身设置一个SSH服务器守护进程,以回应所有来自networking22的端口上的请求,请求本地主机上的端口23,从而允许encryption的命令行通信的产品,即使它不直接支持它。 我一直在通过标准的Googlesearch(我相当擅长于Google)研究这个问题几天,而且在这里serverfault / stackoverflow没有成功。 我发现的所有例子1)对许多用户/会话都进行直接端口转发而不encryption,或者2)仅描述如何为单个用户/会话执行SSH端口转发/隧道。 上面的#2,试图build立数百个单独的转发SSH隧道将是一个pipe理的噩梦; 我需要一个端口上的服务器端解决scheme来处理多个会话和用户。 对于我所做的研究,在Windows服务器上设置一个OpenSSH服务器守护进程似乎是最好的select(我试图 – 不成功 – configurationsshd_config来支持这种情况),但如果有更好的select,我打开所有的build议。 我也考虑过build立一个小的Linux虚拟机来进行翻译,但是这个设施没有任何人熟练使用Linuxpipe理,而且我们仍然有几个设备在物理(而不是虚拟)环境中运行这个产品,所以第二个Linux虚拟解决scheme不会使这些网站受益。 **我忘了提及:因为基于Caché的应用程序在Windows服务器本身之外有其自己的安全系统,所以许多应用程序的个人用户没有基于Windows的login凭据到服务器。 SSH隧道不应该尝试在服务器本身上启动一个shell,它应该只能在运行时encryption/解密,并创build一个到Telnet端口的隧道。 我希望我已经解释得很好, 如果不是,请让我知道,我会尽力解释得更清楚。 任何帮助都将不胜感激。 谢谢你的时间!