CentOS下开启配置端口转发

Posted oldyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS下开启配置端口转发相关的知识,希望对你有一定的参考价值。

开启IP转发

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

临时修改:

# echo 1 >/proc/sys/net/ipv4/ip_forward

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

永久修改:

vi /etc/sysctl.conf

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

net.ipv4.ip_forward = 1

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

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

配置端口转发

假设用户访问172.16.4.247:728时我想让它转发到172.16.4.97:80:

# iptables -t nat -A PREROUTING -p tcp -d 113.108.110.61 --dport 728 -j DNAT --to-destination 172.16.4.97:80

# iptables -t nat -A POSTROUTING -p tcp -s 172.16.4.97 --sport 80 -j SNAT --to-source 172.16.4.247

# service iptables save(将当前规则保存到 /etc/sysconfig/iptables)

或者,你也可以直接修改/etc/sysconfig/iptables文件:

-A PREROUTING -d 172.16.4.247/32 -p tcp -m tcp --dport 728 -j DNAT --to-destination 172.16.4.97:80

-A POSTROUTING -s 172.16.4.97/32 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.4.247

最后不要忘了开放728端口

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

配置完成后,记得重启防火墙:

# service iptables restart

本机端口转发

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

[[email protected] sbin]# iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80

[[email protected] sbin]# service iptables save

[[email protected] sbin]# service iptables restart

 

以上是关于CentOS下开启配置端口转发的主要内容,如果未能解决你的问题,请参考以下文章

CentOS8 开启端口转发

CentOS8 开启端口转发

CentOS 7下用firewall-cmd控制端口与端口转发

firewalld防火墙实验案例:ip地址伪装,端口转发

firewalld防火墙实验案例:ip地址伪装,端口转发

Mac下开启与关闭端口转发的脚本配置方法