zoukankan      html  css  js  c++  java
  • iptables进行DNAT(目标地址转换)

    前言:对于Linux服务器而言,一般服务器不会直接提供公网地址给用户访问,服务器在企业防火墙后面,通常只是暴露一个公网给用户,下面已80端口进行实现。

    演示环境:VM

    (1)host:

      172.16.100.6(假设是互联网用户)

    (2)提供公网的服务器netfilter:

      192.168.31.168 80端口暴露给用户

    (3)后端服务器realserver:

      192.168.31.167 8080端口提供服务,nginx作为服务器

    1、首先我们用我们的宿主机访问8080,验证服务是否正常

    服务OK;

    2、netfilter添加DSAT转换规则:

    iptables -t nat -A PREROUTING -d 192.168.31.168 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.31.167:8080
    

     3.host访问192.168.31.168 80端口,验证是否OK

     

    OK,访问正常。

    nginx后端日志可以看到host的访问记录:

    很简单的实现了DNAT。

    那么我们的宿主机能不能直接访问192.168.31.168:80呢,答案是不可以,这个可以自己下去思考。

    总结:防火墙可以实现内部主机对外服务,DNAT:iptables -t nat -A PREROUTING -d 192.168.31.168 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.31.167:8080;

      我们可以称他为地址映射,端口转换。

  • 相关阅读:
    [Luogu1993] 小K的农场
    [Noip2013] 车站分级
    [Noip2003]加分二叉树
    [Luogu3797] 妖梦斩木棒
    UPC 6616 Small Mulitple
    STL容器之优先队列
    Dijkstra和Floyd算法
    最短路径问题---Dijkstra算法详解
    并查集
    洛谷 P1217
  • 原文地址:https://www.cnblogs.com/jjzd/p/6505871.html
Copyright © 2011-2022 走看看