Questions tagged «port-forwarding»

在防火墙上或通过SSH进行端口转发

7
如何移植iptables?
我希望将端口8001上ppp0上的连接路由到端口8080上eth0上的192.168.1.200。 我有这两个规则 -A PREROUTING -p tcp -m tcp --dport 8001 -j DNAT --to-destination 192.168.1.200:8080 -A FORWARD -m state -p tcp -d 192.168.1.200 --dport 8080 --state NEW,ESTABLISHED,RELATED -j ACCEPT 而且不起作用。我想念什么?


4
iptables端口重定向不适用于localhost
我想将所有流量从端口443重定向到内部端口8080。我将此配置用于iptables: iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp \ --dport 443 -j REDIRECT --to-ports 8080 这适用于所有外部客户端。但是,如果我尝试从同一台机器访问端口443,则会收到拒绝连接错误。 wget https://localhost 如何扩展iptables规则来重定向本地流量呢?

12
从本地网络环回转发的公共IP地址-发夹NAT
这是关于发夹式NAT(环回NAT)的规范问题。 这个问题的一般形式是: 我们有一个包含客户端,服务器和NAT路由器的网络。路由器上有到服务器的端口转发功能,因此某些服务可以从外部获得。我们有指向外部IP的DNS。本地网络客户端无法连接,但是需要外部工作。 为什么会失败? 如何创建统一的命名方案(在本地和外部均可使用的DNS名称)? 该问题的答案已与其他多个问题合并。他们最初引用了FreeBSD,D-Link,Microtik和其他设备。他们都在尝试解决相同的问题。


8
没有iptables的Linux上的端口转发?
我有一个Linux VPS(virtuozzo)服务器,我需要设置端口转发,但是我的托管服务提供商不允许iptables-nat内核模块,因此iptables -t nat-不起作用。 我正在寻找其他方法来做到这一点。我知道我可以使用openssh转发端口,但是我需要转发20+个不同的端口,即tcp和udp,所以这不是一个选择。 是否有任何适用于Linux的软件可以进行端口转发?

5
在libvirt / KVM中将端口转发给来宾
使用NAT时,如何将运行libvirt / KVM的服务器上的端口转发到VM上的指定端口? 例如,主机的公共IP为1.2.3.4。我想将端口80转发到10.0.0.1,将端口22转发到10.0.0.2。 我假设我需要添加iptables规则,但是我不确定哪里合适以及应该确切指定什么。 iptables -L的输出 Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:bootps ACCEPT tcp -- anywhere anywhere tcp dpt:bootps Chain FORWARD (policy ACCEPT) target prot …


5
通过SSH隧道转发SSH
我的情况 : 我(本地主机)->服务器A(ip:100.100.100.100)=>(服务器B(ip:192.168.25.100),服务器....) 我能够通过SSH进入服务器,因为如果我想连接到服务器b,则它具有真实的ip,我将使用ip(192.168.25.100)来SSH服务器b。 例: 从我的电脑: ssh user@100.100.100.100 然后在100.100.100.100中, ssh user@192.168.25.100 这将使我使用SSH进入服务器B 如果我想直接连接到服务器b怎么办?我怎样才能做到这一点? 例: 从我的OC: ssh@192.168.25.100 我尝试了以下方法: ssh -L 22:localhost:22 user@100.100.100.100 没有成功

7
为什么不能在Ubuntu 9.04服务器上从外部访问我的CouchDB实例?
更新:我现在可以正常工作了。Jim Zajkowski的回答帮助我检测到/etc/init.d/couchdb重新启动调用实际上并未重新启动实例。在我手动终止CouchDB进程并启动新实例之后,它选择了必需的BindAddress更改。 我已经通过安装了CouchDB 资质安装ouchdb 在我的服务器上,我可以通过 telnet本地主机5984 并执行RESTful命令。当我尝试从网络上的另一台计算机或网络外部的计算机访问服务器时,出现“连接已重置”错误。我已经在路由器上设置了端口转发,并且可以通过Apache,Tomcat,SSH等访问该服务器。 我是Linux / Ubuntu的新手,所以不确定是否有默认防火墙阻止连接,所以我运行了: iptables -A输入-p tcp --dport 5984 -j接受 但这没有帮助。 这是运行iptables -L -n -v的转储 Chain INPUT (policy ACCEPT 2121K packets, 1319M bytes) pkts bytes target prot opt in out source destination 70 3864 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5984 9 …

4
SSH远程端口转发失败
后续行动:看起来像是一系列快速断开连接,同时每台服务器都运行了几个月,这可能是偶然的,只是用来揭示实际问题。未能重新连接的原因几乎可以肯定是由于AliveInterval值(卡巴斯德的回答)。使用ExitOnForwardFailure选项应该允许超时在重新连接之前正确发生,这在大多数情况下应该可以解决问题。MadHatter的建议(kill脚本)可能是确保隧道可以重新连接的最佳方法,即使其他一切都失败了。 我在防火墙后面有一个服务器(A),该服务器在多个端口上启动了到小型DigitalOcean VPS(B)的反向隧道,因此我可以通过B的IP地址连接到A。隧道已经连续工作了大约3个月,但在过去的24小时内突然发生了四次故障。同一件事发生在另一家VPS提供商身上-几个月的完美运行,然后突然出现了多次快速故障。 我在机器A上有一个脚本,该脚本会自动执行tunnel命令(ssh -R *:X:localhost:X address_of_B针对每个端口X),但是在执行时会显示Warning: remote port forwarding failed for listen port X。 进入/var/log/secure服务器上的sshd会显示以下错误: bind: Address already in use error: bind: Address already in use error: channel_setup_fwd_listener: cannot listen to port: X 解决方法是重新启动VPS。在此之前,所有尝试重新连接的消息都会显示“远程端口转发失败”消息,并且将无法正常工作。现在到了隧道仅持续约4个小时才停止的地步。 VPS上没有任何变化,它是一次性使用的单用户计算机,仅充当反向隧道终结点。它在CentOS 6.5上运行OpenSSH_5.3p1。似乎当连接断开时,sshd不会关闭其末端的端口。我无所适从地解释了为什么,或者为什么经过数月近乎完美的运行现在突然会发生这种情况。 为了澄清,我首先需要弄清楚为什么sshd在隧道故障后拒绝侦听端口,这似乎是sshd使端口保持打开状态并且从不关闭它们引起的。这似乎是主要问题。我只是不确定在经过数月的预期运行后会导致这种行为的原因(即立即关闭端口并允许脚本重新连接)。

7
将本地端口或套接字文件转发到远程套接字文件
快速问题-我运行两个linux机器,一个是我自己的桌面,另一个是我的VPS。出于安全原因,在VPS端,我选择了与MySQL(/var/run/mysqld/mysql.sock)的套接字连接。我知道我可以这样进行隧道传输:ssh -L 3307:127.0.0.1:3306 user@site.com如果我将远程sql服务器设置为侦听某个端口,但是我想知道的是我可以做些什么:ssh -L /path/to/myremotesqlserver.sock:/var/run/mysqld/mysql.sock从而通过隧道传输两个套接字,而不是两个端口吗? 完全可以接受的解决方案是将本地端口转发到远程套接字文件,但是在可能的情况下,我试图不让tcp服务器在远程机器上运行。 (是的,我知道tcp会更容易)。

2
流浪汉转发一系列端口
有没有办法使用流浪汉1.2.1或更高版本转发一系列端口?我知道您可以使用分别转发任何数量的端口 config.vm.forward_port 80, 4567 或者,答案仅仅是不使用流浪汉来做这样的事情吗?

3
如何ssh到我无法直接到达的服务器?
语境 我将Ubuntu Desktop作为主要计算机运行,我将其称为D。我想通过ssh连接到服务器S,但是防火墙阻止了我。 我可以通过非常繁琐的路径访问服务器S,其中涉及Windows虚拟机和PuTTY。这使得使用该服务器非常烦人:完全不同的环境,复制/粘贴无法正常工作,在连接到该服务器时我无法正确使用桌面(Alt-Tab被虚拟机破坏)等 我已经验证可以从服务器S SSH到台式机D(与我所需要的相反)。 我可以以某种方式从服务器启动“端口转发”或类似操作,以便可以从台式机SSH到服务器吗?

1
使用PuTTy进行SSH反向端口转发-如何指定绑定地址
使用Putty,我设置了一个反向代理,该代理使我可以在服务器的端口8080上连接server.tld至启动SSH连接的计算机的端口80。 服务器允许我连接,localhost:8080并返回initiator:80我在服务器上连接时的结果。 这个问题说启用网关端口并绑定到所有地址。 使用Putty,如何在服务器上公开端口8080,以便在外部接口上通过请求(例如Web请求)时将端口转发到initiator:80?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.