iptables配置tcp端口转发

简介: iptables配置tcp端口转发
# example:
#iptables -t nat -A PREROUTING -p tcp --dport 1111 -j DNAT --to-destination 192.168.1.10:8022
#iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp --dport 8022 -j MASQUERADE

tcp_port_forward()
{
PROTOCOL=$1 
SERVERPORT=$2
DHOST=$3 
DPORT=$4
echo "$1, $2, $3, $4"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING  -p $PROTOCOL --dport $SERVERPORT -j DNAT --to-destination $DHOST:$DPORT
iptables -t nat -A POSTROUTING -d $DHOST -p $PROTOCOL --dport $DPORT -j MASQUERADE

echo "redirect_port end."
}
clean_tcp_port_forward()
{
No=$1 

iptables -t nat  -D POSTROUTING $No
iptables -t nat  -D PREROUTING $No
echo "clean  no $No."

}
usage()
{
echo "Usage: $0 PROTOCOL/-d SERVER-PORTD/no HOST DPORT "
echo "example1: $0 tcp 443 192.168.1.123 8043"
echo " Visit this host on port 8043 equal vist 192.168.1.20:443"
echo "example2:"
echo " $0 tcp -d 1 "
echo " Clean previous rules"
echo "Notes: please make sure net.ipv4.ip_forward=1 in /etc/sysctl.conf and run \"sysctl -p\" to apply changes"
}

if [ $# -ne 4 ]; then 
if [ $# -ne 2 ]; then
  usage 
  exit 
fi 
fi 

if [ "$1" == "-d" ]; then
  clean_tcp_port_forward$2;
else
  sysctl -w net.ipv4.ip_forward=1
  tcp_port_forward$1 $2 $3 $4;
fi


测试:

/usr/sbin/add_forward tcp 8099 121.71.127.17 8201


即可实现把8099端口的tcp/http数据转发到121.71.127.17 8201上面去了

目录
相关文章
|
1天前
|
Ubuntu Apache
apache2 ubuntu18.04 配置虚拟端口
apache2 ubuntu18.04 配置虚拟端口
|
1天前
|
网络协议
tcp端口转发工具v2.0.2版本发布
tcp端口转发工具v2.0.2版本发布
36 0
|
1天前
|
网络协议 安全 Linux
linux配置防火墙 Centos7下 添加 端口白名单
linux配置防火墙 Centos7下 添加 端口白名单
94 0
|
1天前
|
监控 索引
配置本地端口镜像示例(M:N)
1. 配置接口GE1/0/4~GE1/0/5为本地观察端口,负责向不同Server转发镜像报文。 2. 配置接口GE1/0/1~GE1/0/3为镜像端口,将经过镜像端口的流量复制到不同的本地观察端口。
|
1天前
|
监控 索引
配置本地端口镜像示例(1:N,配置观察端口组)
1. 配置接口GE1/0/2~GE1/0/4为本地观察端口,负责向不同Server转发镜像报文。 2. 配置接口GE1/0/1为镜像端口,将经过镜像端口的流量复制到不同的本地观察端口。 操作步骤
|
1天前
|
监控 索引
配置本地端口镜像示例(1:N,单个配置观察端口)
1:N镜像是指将单个镜像端口的报文复制到N个不同的观察端口,主要适用于将报文复制到不同监控设备进行分析处理的场合。 1:N镜像需要配置多个观察端口,连接不同的监控设备。观察端口有单个配置和批量配置两种方式,而且这两种方式可同时配置。观察端口组一般在1:N镜像时使用,既可以简化配置,还可以节约观察端口索引(一个观察端口组无论包含多少个端口,仅占用一个观察端口索引)。
|
1天前
|
运维 监控
配置本地端口镜像示例(1:1)
如图1所示,某公司行政部通过Switch与外部Internet通信,监控设备Server与Switch直连。 现在希望通过Server对行政部访问Internet的流量进行监控。
|
1天前
|
Linux 网络安全
Linux(CentOS6.5)开放端口,配置防火墙
Linux(CentOS6.5)开放端口,配置防火墙
30 0
|
1天前
|
Java Nacos Docker
在集成nacos时,端口9848报错但服务器的这个端口是开放的
在集成nacos时,端口9848报错但服务器的这个端口是开放的【1月更文挑战第14天】【1月更文挑战第67篇】
361 1
|
1天前
|
安全 Windows
服务器中如何检查端口是否开放
服务器中如何检查端口是否开放
http://www.vxiaotou.com