首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加新的iptables后,SSH重定向到不同的ip地址

添加新的iptables后,SSH重定向到不同的ip地址
EN

Server Fault用户
提问于 2020-02-09 14:56:54
回答 1查看 260关注 0票数 0

在Proxmox上运行的专用服务器SSH使用以下ip地址40.53.XX.XX,我有一些问题要解决。

这是我的配置:

我使用本地ip地址运行了3个VM:

Vm1的ip地址为192.168.4.4,并运行一个域名为"london.austria.com“的网站(使用Apache )

Vm2的ip地址为192.168.4.5,并运行一个域名为"manchester.austria.com“的网站(使用Apache )

有了这种配置,我就可以通过SSH访问所有VM和虚拟机管理程序。

今天,我建立了一个Nginx反向代理,以便从互联网上访问VM1和VM2上的网站。

让我们称它为Nginx反向代理VM3,它具有本地ip地址192.168.4.2

这套装置运转良好。我可以访问运行在VM1和VM2上的网站。

但是现在,当我在/etc/ 40.53.XX.XX /接口中的最后2行中添加了新的iptables规则到我在…上的管理程序之后,我收到一条消息说服务器指纹已经改变了…你想联系吗?

如果单击“是”,我将连接到Nginx反向代理(192.168.4.2),而不是管理程序(40.53.XX.XX.)。

我尝试了另一个SSH工具,但问题是一样的。

系统管理程序上的/etc/网络/接口下面是:

代码语言:javascript
复制
root@ns568745:~# cat /etc/network/interfaces
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo
    iface lo inet loopback


    # vmbr0: Bridging. Make sure to use only MAC adresses that were assigned to you.
    auto vmbr0
    iface vmbr0 inet static
        address 40.53.XX.XX /24
        gateway 40.53.XX.XX .254
        bridge_ports eno1
        bridge_stp off
        bridge_fd 0





    auto vmbr1
    iface vmbr1 inet static
        address  192.168.4.254/24
        broadcast 192.168.4.255
        bridge_ports none
        bridge_stp off
        bridge_fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s '192.168.4.254/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.4.254/24' -o vmbr0 -j MASQUERADE


post-up iptables -t nat -A PREROUTING -d 40.53.XX.XX -p tcp -m multiport --dports 80,443 -m comment --comment "nginx" -j DNAT --to-destination 192.168.4.2

post-up iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -j SNAT --to-source 40.53.XX.XX

和/etc/ Nginx /site中的nginx配置文件-可用( ip地址: 192.168.4.2)

代码语言:javascript
复制
server {
    listen 80 default;
    listen [::]:80 default;
    server_name manchester.example.com;

    location / {
        proxy_pass http://192.168.4.5:80;
    }
}

server {
    listen 80;
    listen [::]:80;
    server_name london.example.com;

    location / {
        proxy_pass http://192.168.4.4:80;
    }
}

当我想连接到40.53.XX.XX时,为什么要重定向到192.168.4.2,如何通过SSH连接到40.53.XX.XX?

编辑1 :

在/etc/网络/接口中的最后2行启用2 iptables规则后,iptables-save的输出

代码语言:javascript
复制
root@ns568745:~# iptables-save
# Generated by iptables-save v1.6.0 on Sun Feb  9 16:01:44 2020
*filter
:INPUT ACCEPT [640:213744]
:FORWARD ACCEPT [15:900]
:OUTPUT ACCEPT [495:208357]
COMMIT
# Completed on Sun Feb  9 16:01:44 2020
# Generated by iptables-save v1.6.0 on Sun Feb  9 16:01:44 2020
*nat
:PREROUTING ACCEPT [82:4115]
:INPUT ACCEPT [68:2699]
:OUTPUT ACCEPT [27:1694]
:POSTROUTING ACCEPT [34:2114]
-A PREROUTING -d 40.53.XX.XX/32 -p tcp -m multiport --dports 80,443,22 -m comment --comment nginx -j DNAT --to-destination 192.168.4.2
-A POSTROUTING -s 192.168.4.0/24 -o vmbr0 -j MASQUERADE
-A POSTROUTING -s 192.168.4.0/24 -j SNAT --to-source 40.53.XX.XX
COMMIT
# Completed on Sun Feb  9 16:01:44 2020

当禁用/etc/ iptables-save /接口中最后2行中的2 iptables规则时,输出的

代码语言:javascript
复制
root@ns568745:~# iptables-save
# Generated by iptables-save v1.6.0 on Sun Feb  9 15:56:26 2020
*filter
:INPUT ACCEPT [75392:20174610]
:FORWARD ACCEPT [34704:41945853]
:OUTPUT ACCEPT [70877:23709671]
COMMIT
# Completed on Sun Feb  9 15:56:26 2020
# Generated by iptables-save v1.6.0 on Sun Feb  9 15:56:26 2020
*nat
:PREROUTING ACCEPT [15399:828377]
:INPUT ACCEPT [11207:472538]
:OUTPUT ACCEPT [428:27752]
:POSTROUTING ACCEPT [591:34272]
-A POSTROUTING -s 192.168.4.0/24 -o vmbr0 -j MASQUERADE
COMMIT
# Completed on Sun Feb  9 15:56:26 2020
EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-02-09 16:19:07

问题是这条线:

代码语言:javascript
复制
-A PREROUTING -d 40.53.XX.XX/32 -p tcp -m multiport --dports 80,443,22 -m comment --comment nginx -j DNAT --to-destination 192.168.4.2

此规则将http (80)、https (443)和ssh (22)转发到192.168.4.2主机。

由于您的原始interfaces命令没有包含端口22,所以必须将端口22添加到DNAT规则的其他地方。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1002400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档