• 端口转发配置


    需求

    有的时候机器有一台网关机器,需要做端口转发的工作,那么可以使用iptables或者使用firwalld进行配置,firewalld底层也是调用的跟iptables一样的内核模块的,只是命令的不同

    配置

    环境说明

    在这里插入图片描述

    • 机器A

      • 外网IP:192.168.0.85
      • 内网IP:192.168.1.103
    • 机器B

      • 内网IP:192.168.1.102
    • 机器C

      • 内网IP:192.168.1.101

    配置访问192.168.0.85端口44561映射到192.168.1.102的4456端口
    配置访问192.168.0.85端口44562映射到192.168.1.101的4456端口

    通用配置

    开启内核转发功能

    [root@lab103 ~]# cat /etc/sysctl.conf |grep forwa
    net.ipv4.ip_forward = 1
    [root@lab103 ~]# sysctl -p
    
    • 1
    • 2
    • 3

    使用iptable配置

    #!/bin/sh
    IPT="/sbin/iptables"
    /bin/echo "1" > /proc/sys/net/ipv4/ip_forward
    /sbin/modprobe ip_tables
    /sbin/modprobe iptable_filter
    /sbin/modprobe iptable_nat
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    $IPT -F
    $IPT -t nat -F
    $IPT -X
    $IPT -t nat -X
    $IPT -Z
    $IPT -t nat -Z
    iptables -t filter -P FORWARD  ACCEPT
    #DNAT 做端口转发 lab102
    $IPT -t nat -A PREROUTING -d 192.168.0.85 -p tcp --dport 44561 -j DNAT --to-destination 192.168.1.102:4456
    #SNAT 做端口转发
    $IPT -t nat -A POSTROUTING -p tcp -d 192.168.1.102 --dport 4456 -j SNAT --to-source 192.168.1.103
    
    
    #DNAT 做端口转发 lab1021
    $IPT -t nat -A PREROUTING -d 192.168.0.85 -p tcp --dport 44562 -j DNAT --to-destination 192.168.1.101:4456
    #SNAT 做端口转发
    $IPT -t nat -A POSTROUTING -p tcp -d 192.168.1.101 --dport 4456 -j SNAT --to-source 192.168.1.103
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    上面的注意下那个to-source后面应该接上转发机器的内网的IP的地址,如果错了就有问题

    使用firewalld配置

    #!/bin/sh
    firewall-cmd --add-masquerade --permanent
    firewall-cmd --add-port=44561/tcp --permanent
    firewall-cmd --add-port=44562/tcp --permanent
    firewall-cmd --add-forward-port=port=44561:proto=tcp:toport=4456:toaddr=192.168.1.102 --permanent
    firewall-cmd --add-forward-port=port=44562:proto=tcp:toport=4456:toaddr=192.168.1.101 --permanent
    firewall-cmd --reload
    firewall-cmd --list-all
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意点

    上面的配置好转发以后都不要在转发的机器本机进行测试,本机上直接测试会不通,这个需要在外部进行访问转发机器进行验证

  • 相关阅读:
    2022-09-08 mysql/stonedb-慢SQL-出现问题的SQL-Q2
    【混合编程】Matlab和C++混编
    输入神经网络的数据类型要求,神经网络数据格式
    Vue(七)——vuex(vuex基础,使用,state,getters,mutations,actions基本概念与使用以及基本实现案例)
    Elasticsearch 基于地理位置的搜索查询
    设备——工厂的心脏
    git format-patch打补丁
    学校安全用电管理系统解决方案
    JVM常用参数
    【项目问题定位】近来几个数据库相关问题定位与知识点总结
  • 原文地址:https://blog.csdn.net/zphj1987/article/details/126888198