使用iptables实现多主机间端口转发

2020-06-10 19:43:42 浏览数 (1)

需求:

访问 192.168.1.10:18888 ,实际访问服务为 192.168.1.125:80

配置:通过iptables NAT规则可以实现

(在Web服务器上配置,公网也可以)

1. 开启路由转发:

net.ipv4.ip_forward = 1

2. 转发请求到目标主机:
代码语言:javascript复制
# iptables -t nat -A PREROUTING --dst 192.168.1.10 -p tcp --dport 18888 -j DNAT --to-destination 192.168.1.125:80
3. 转发数据包回路:
代码语言:javascript复制
# iptables -t nat -A POSTROUTING --dst 192.168.1.125 -p tcp --dport 80 -j SNAT --to-source 192.168.1.10

4表:

  • filter表——过滤数据包
  • Nat表——用于网络地址转换(IP、端口)
  • Mangle表——修改数据包的服务类型、TTL、并且可以配置路由实现QOS
  • Raw表——决定数据包是否被状态跟踪机制处理

5链:

  • INPUT链——进来的数据包应用此规则链中的策略
  • OUTPUT链——外出的数据包应用此规则链中的策略
  • FORWARD链——转发数据包时应用此规则链中的策略
  • PREROUTING链——对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)
  • POSTROUTING链——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

0 人点赞