将对我的外部 IP/端口的请求重定向到内部 IP/端口?

将对我的外部 IP/端口的请求重定向到内部 IP/端口?

我有一台运行 KVM 虚拟化的专用服务器,它有 n 个公共 IP 地址,专用于 n-1 个面向 Web 的虚拟机。现在我想设置一些面向 Web 的虚拟机,这些虚拟机没有专用地址,而是从主机为它们转发 2 或 3 个端口。

桥梁配置为:

brctl show

在此处输入图片描述

假设我想转发

  • 178.126.193.153:201 至 192.168.1.101:22
  • 178.126.193.153:801 至 192.168.1.101:80

首先,我通过取消注释 # net.ipv4.ip_forward=1 在主机上启用了端口转发/etc/sysctl.conf,然后我执行了 sysctl -p /etc/sysctl.conf service network restart 然后,类似于这个问题,我做到了:

iptables -t nat -A PREROUTING -p tcp -i br0 --dport 201 -j DNAT --to-destination 192.168.1.101:22
iptables -A FORWARD -p tcp -d 192.168.1.101 --dport 201 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i br0 --dport 801 -j DNAT --to-destination 192.168.1.101:80
iptables -A FORWARD -p tcp -d 192.168.1.101 --dport 801 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

ifconfig在客户机上运行并检查其接口 eth0 确实具有 IP 地址 192.168.1.101。虚拟机内部的接口称为eth0,对吗?

但它不起作用:

nmap 178.126.193.153没有显示开放端口 201 或 801,并且ssh -l root -p 201 178.126.193.153让我

ssh: connect to host 178.162.193.153 port 201: Connection refused

ip route在主机上返回 178.126.193.128/26 dev br0 proto kernel scope link src 178.162.193.153 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 169.254.0.0/16 dev br0 scope link metric 1004 default via 178.126.193.190 dev br0

我究竟做错了什么?

相关内容