Linux服务器利用防火墙iptables策略进行端口跳转

两台不同服务器转发

10年积累的网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有夹江免费网站建设让你可以放心的选择与我们合作。


打开端口转发的功能

首先开启IP转发功能,默认是关闭的。

  • 临时修改:

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

修改过后就马上生效,但如果系统重启后则又恢复为默认值0。

  • 永久修改:

vi /etc/sysctl.conf

# 找到下面的值并将0改成1

net.ipv4.ip_forward = 1

Linux服务器利用防火墙iptables策略进行端口跳转

# sysctl -p(使之立即生效)

默认值0是禁止ip转发,修改为1即开启ip转发功能。

配置端口转发

假设用户访问115.29.112.119:8804时我想让它转发到42.99.16.84:8890

首先要在服务器上开放8804端口

  • 修改配置文件:vim /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8804 -j ACCEPT

  • 或者命令行执行并保存

[root@localhost sysconfig]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8804 -j ACCEPT
[root@localhost sysconfig]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]

Linux服务器利用防火墙iptables策略进行端口跳转

端口转发

  • 方法一:命令行执行

需要保存,不然只是即时生效,已重启防火墙规则就会被清空

iptables -t nat -A PREROUTING -d 115.29.112.119 -p tcp --dport 8804 -j DNAT --to-destination 42.99.16.84:8890

iptables -t nat -A POSTROUTING -d 42.99.16.84 -p tcp --dport 8890 -j SNAT --to-source 115.29.112.119

不需要更改配置文件就保存的命令:service iptables save

Linux服务器利用防火墙iptables策略进行端口跳转

  • 方法二:直接保存到配置文件

修改/etc/sysconfig/iptables配置文件,加入规则

-A PREROUTING -d 115.29.112.119 -p tcp --dport 8804 -j DNAT --to-destination 42.99.16.84:8890

-A POSTROUTING -d 42.99.16.84 -p tcp --dport 8890 -j SNAT --to-source 115.29.112.119

  • 配置完重启防火墙:

1.systemctl restart iptables(centos7);2.service iptables restart(centos7以前版本)

  • 查看配置好的策略

iptables -t nat --list --line-numbers

Linux服务器利用防火墙iptables策略进行端口跳转

本机端口转发

如果只需要在本机间不同的端口转发就比较容易了,比如 访问 http://ip:8888 我想返回 http://ip:6666 的内容,配置如下:

[root@localhost ~]# iptables -t nat -A PREROUTING -p tcp --dport 8888 -j REDIRECT --to-ports 6666
[root@localhost ~]# service iptables save
[root@localhost ~]# service iptables restart

当前题目:Linux服务器利用防火墙iptables策略进行端口跳转
文章起源:http://myzitong.com/article/gshjjp.html