Linux端口转发(iptables)

Linux端口转发(iptables),第1张

当服务器迁移,因为DNS未同步或某些人使用ip访问,一些流量还是会流向老的服务器。 使用iptables及其伪装特性,将所有流量转发到老的服务器。 点击看iptables的介绍 。 本文假设没有运行的iptables,至少没有针对prerouting链和postrouting链的NAT表的转发规则。1) 首先开启端口转发 # echo "1" >/proc/sys/net/ipv4/ip_forward 或sysctl net.ipv4.ip_forward=12) 增加端口转发 将端口1111上的流量转发到主机2.2.2.2 上的端口1111。# iptables -t nat -A PREROUTING -p tcp        --dport 1111 -j DNAT --to-destination  2.2.2.2:1111然后告诉IPtables伪装起来(masquerade)# iptables -t nat -A POSTROUTING -j  MASQUERADE仅仅重定向一个固定网络甚至是一台主机的流量 # iptables -t nat -A PREROUTING -s  192.168.1.1 -p tcp --dport 1111 -j DNAT        --to-destination 2.2.2.2:1111仅仅重定向一个网段的流量# iptables -t nat -A PREROUTING -s  192.168.1.0/24 -p tcp --dport 1111 -j DNAT  --to-destination 2.2.2.2:1111 这就可以进行Linux端口转发流量了。 查看转发规则 sudo iptables -t nat -nL 1) docker bridge模式2) 安全方面,同主机上端口指定网卡ip上的流量转发 3) 端口转发到另外的服务器,见上边案例 4) snat场景 5) dnat场景,内网访问外网https://www.debuntu.org/how-to-redirecting-network-traffic-to-a-new-ip-using-iptables/

1、SSH 端口转发

SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。

2、iptables 端口转发

CentOS 7.0 以下使用的是iptables,可以通过iptables实现数据包的转发。

3、firewall 端口转发

CentOS 7.0以上使用的是firewall,通过命令行配置实现端口转发。

4、rinetd 端口转发

rinetd是一个轻量级TCP转发工具,简单配置就可以实现端口映射/转发/重定向。

>192.168.1.100

1.开启转发功能:vi /etc/sysctl.confnet.ipv4.ipforward = 1

sysctl -p

2.防火墙:iptables -t nat -A PREROUTING -d 192.168.1.100 -p tcp --dport 8889 -j DNAT --to-destination 192.168.1.200:8999(-p 这里认为服务是tcp协议的)

>192.168.1.200

iptables -t nat -A POSTROUTING -s 192.168.1.200 -p tcp --sport 8889 -j SNAT --to-source 192.168.1.100:8999(认为是tcp协议,回包端口为8999)

*** 作系统使用centos6.3

另外使用反向代理也可实现


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8544168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存