标签: port-forwarding

iptables 将特定 ip 重定向到端口 8080

我的电脑有两个 IP 地址。如何使用CentOS 将端口80上的传入请求转发到来8080自我的 IPiptables之一?

例如,我有 ip 地址1.1.1.12.2.2.2,我想将http://1.1.1.1端口转发80到端口80801.1.1.1但不是2.2.2.2

我该怎么做呢?

iptables centos port-forwarding

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

最简单的防火墙不起作用

我尝试使用以下 bash sctipt 将 ssh 流量从一台机器重定向到另一台机器:

   IPTABLES="/usr/sbin/iptables"

   $IPTABLES -F        
   $IPTABLES -X        
   $IPTABLES -F -t nat 
   $IPTABLES -X -t nat 
   $IPTABLES -F -t mangle
   $IPTABLES -X -t mangle

   $IPTABLES --policy INPUT   ACCEPT
   $IPTABLES --policy FORWARD ACCEPT
   $IPTABLES --policy OUTPUT  ACCEPT

   $IPTABLES -t nat -A POSTROUTING --out-interface ppp0 -j MASQUERADE
   $IPTABLES -t nat -A PREROUTING  -p tcp --dport 22 -j DNAT --to 192.168.2.2

   echo 1 > /proc/sys/net/ipv4/ip_forward 
Run Code Online (Sandbox Code Playgroud)

但是当我输入

ssh user@localhost
Run Code Online (Sandbox Code Playgroud)

或者

ssh user@192.168.2.1 # (address of local host)
Run Code Online (Sandbox Code Playgroud)

我收到错误“连接被拒绝”。

请帮我。

iptables port-forwarding

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

将请求转发到 KVM 主机上的几个来宾之一?

我有一台有 3 位客人的 Ubuntu 主机。它们都在端口 80 上运行不同的 Web 服务。我如何告诉主机根据主机名将请求转发给适当的来宾?

主机:example.com

来宾:git.example.com、www.example.com、psql.example.com

virtualization port-forwarding kvm-virtualization

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

使用 iptables 进行端口转发

我得到了lo127.0.0.1)和eth0172.17.0.8)。我想将登陆的数据包重定向127.0.0.1:80172.17.42.1:80(从 路由eth0)。

我试过

iptables -t nat -A OUTPUT -p tcp --dport 80 -d 127.0.0.1 -j DNAT --to 172.17.42.1:80
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时我没有curl localhost:80得到任何回应,当我这样做时curl 172.17.42.1:80它就起作用了。

networking iptables port-forwarding linux-networking dnat

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

将端口转发到主机名

如何将端口转发到主机名和端口。我正在看这篇文章:Iptables forward all tr​​affic to a specified port, to another device and see how to do it port to ip 但如果我需要做 port to hostname 怎么办?尝试将主机作为目的地,但它在 iptables 中引发错误

 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination ehb-us-redis-001.ehb-usredis.u1.cache.com:6379
iptables v1.4.21: Bad IP address "ehb"

Try `iptables -h' or 'iptables --help' for more information.
Run Code Online (Sandbox Code Playgroud)

iptables port-forwarding

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

使用 firewall-cmd 进行端口转发

我有几个 VM 运行在服务器(虚拟机管理器,VMM)之上。我想将服务器上的端口 80 转发到我的一台虚拟机的端口 80。主机运行 CentOS7,因此 firewalld 负责。显然,VMM 也使用 firewalld 来处理虚拟连接,所以我不能把它扔出窗口。

我基本上没有成功地复制了这个线程中的所有命令,归结为:

firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.122.224
Run Code Online (Sandbox Code Playgroud)

或者

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family=ipv4 forward-port port=80 protocol=tcp to-port=80 to-addr=192.168.122.224'
Run Code Online (Sandbox Code Playgroud)

firewalld 目前的状态如下:

[root@my-machine ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp8s0
  sources: 
  services: ssh dhcpv6-client samba smtp http
  ports: 25/tcp
  protocols: 
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  rule family="ipv4" forward-port port="80" protocol="tcp" to-port="80" to-addr="192.168.xxx.xxx"
Run Code Online (Sandbox Code Playgroud)

这是输出

iptables -L -n -v

Chain FORWARD (policy ACCEPT 0 packets, …
Run Code Online (Sandbox Code Playgroud)

virtual-machines port-forwarding firewalld centos7

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

在服务器上设置公网ip

我不太确定这是否应该属于这里,但如何将公共 IP 添加到我的服务器?

我想在服务器 B 中启动一个系统直播到互联网。问题是我的服务器(服务器 A)和服务器 B 之间没有物理连接。

我注意到服务器 B 是:

  • 服务器正在使用动态IP
  • 服务器位于另一条街上,因此无法选择布线
  • 它有一个默认网关 192.168.0.70.1
  • 我还注意到只有那些连接到 wifi 的 PC 才能连接到系统。

我在某处读到,将公共 IP 和端口转发分配给服务器 B 可能会帮助我将该系统实时启动到 Internet。

问题是我对网络知之甚少/甚至一无所知,每个术语对我来说都像是一个难题。

routing port-forwarding

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

带 Wireguard 的 Firewalld 转发功能

我之前问过如何在运行wireguard服务的VPS上转发端口,以ufw和iptables作为管理。

我必须这样做:

(56000是我选择的随机端口)(10.66.66.2是wireguard的内部ip)

ufw route allow proto tcp to 10.66.66.2 port 56000
Run Code Online (Sandbox Code Playgroud)

然后我会这样做来实际使用 iptables 转发端口:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --to-destination 10.66.66.2
Run Code Online (Sandbox Code Playgroud)

我有办法实现这一firewalld目标吗?这样我就不必将转发分成两个地方?

这里是否使用伪装/是否需要?因为我不知道它有什么作用,也不知道它有什么用。

VPSwireguardwg0conf供参考:

Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 49503
PrivateKey = ***


[Peer]
PublicKey = ***
PresharedKey = ***
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128
Run Code Online (Sandbox Code Playgroud)

port-forwarding firewalld wireguard

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

转发 TCP 连接(IP 地址到主机名)

我有一个在线 GPS 跟踪器,它连接到 TCP 服务器并每隔几秒钟将其当前位置发送给它。跟踪器的配置允许用户设置服务器的 IP 地址及其端口。

我的问题是从跟踪器接收数据的 TCP 服务器应用程序在我家庭网络中的计算机上运行,​​而我没有静态 IP 地址。这意味着当我的 IP 地址更改时,我必须每 24 小时重新配置我的跟踪器。

我在 DynDNS.org 网站上创建了一个帐户并在我的路由器中配置了 DDNS 部分,现在可以通过主机名访问它。如果只有 thacker 可以接受主机名而不是 IP 地址,这将解决我的问题。但事实并非如此。

有没有办法轻松解决我的问题?也许某种互联网服务将指定端口上的连接转发到给定的主机名?我不知道...

提前感谢您的帮助。

port-forwarding hostname ip-address

0
推荐指数
1
解决办法
424
查看次数

即使关闭防火墙,端口 22 也会关闭

我正在尝试在本地计算机(Windows 7 32 位)上打开端口 22。我正在使用网络工具来检查我的端口是否打开。它说端口 22 已关闭。所以我禁用了防火墙,看看它是否会导致端口被阻止。即使禁用了防火墙,端口 22 仍然关闭。

我在没有无线路由器的情况下直接连接到我的电缆。可能是什么问题?

更新我正在尝试使用 SSH 连接到服务器(Linux - CentOS 4.5 版)。我在我的机器上使用 Putty 客户端(Windows 7)。当我尝试连接时,连接超时。我运行命令telnet mysite.com 22以查看是否可以通过端口 22 进行连接,但我收到“连接超时”的消息。信息。

更新2想通了。除了我本地计算机上的防火墙外,服务器上还有一个防火墙,它只对某些 IP 开放端口 22。所以即使端口 22 是开放的,它也没有对我的 IP 开放。

security windows firewall port port-forwarding

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