1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > iptables 设置端口转发/映射

iptables 设置端口转发/映射

时间:2019-11-18 19:18:17

相关推荐

iptables 设置端口转发/映射

iptables 设置端口转发/映射

网络拓扑

服务器A有两个网卡内网ip:192.168.1.3外网ip:10.138.108.103本地回环:127.0.0.1服务器B有网卡,8001提供服务内网ip:192.168.1.1

目的

使用户通过外网10.138.108.103:8001访问内网服务器192.168.1.1:8001

思路

如图2所示,端口转发走的是下发A路,利用nat表中prerouting做dnat,用postrouting做snat

包分析

开启内核ip转发

nano /etc/sysctl.conf

将下项注释去掉

# net.ipv4.ipv4_forward=1

使改动生效

sudo sysctl -p

脚本

#!/bin/bashpro='tcp'src_host1='192.168.1.3'src_host2='10.138.108.103'src_port=8001Dst_Host='192.168.1.1'Dst_Port=8001# 清空规则iptables -Fiptables -Xiptables -Ziptables -t nat -F# Destination network address translate (dnat)# 如图2所示iptables -t nat -A PREROUTING -p $pro -d $src_host1 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Portiptables -t nat -A PREROUTING -p $pro -d $src_host2 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Portiptables -A FORWARD -p $pro -d $Dst_Host --dport $Dst_Port -j ACCEPT# 本地连接不经过prerouting,只经过output链,所以想要在服务器A通过本地ip访问服务器B需要在output 链增加dnat规则iptables -t nat -A OUTPUT -p $pro -d $src_host1 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Portiptables -t nat -A OUTPUT -p $pro -d $src_host2 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Port# source network address translate (snat)iptables -t nat -A POSTROUTING -p $pro -d $Dst_Host --dport $Dst_Port -j SNAT --to $src_host1# 显示已有规则iptables -t nat -L -n --line-number

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。