使用linux的iptables配置端口转发

作者: python测试开发 | 来源:发表于2019-11-19 18:45 被阅读0次

在本文中,我们将引导您在Linux中使用iptables进行端口转发。首先,您需要检查服务器上是否启用了端口转发。为了更好地理解,我们将使用eth0作为参考接口,本文中所有命令执行都将与eth0相关。

image.png

如何检查Linux中是否启用了端口转发

您可以使用sysctl来检查是否启用了转发。使用以下命令检查

#  sysctl -a |grep -i eth0.forwarding
net.ipv4.conf.eth0.forwarding = 0
net.ipv6.conf.eth0.forwarding = 0
# cat /proc/sys/net/ipv4/conf/eth0/forwarding
0
# cat /proc/sys/net/ipv6/conf/eth0/forwarding
0

由于两个值均为零,因此在接口eth0上为ipv4和ipv6禁用了端口转发。

image.png

使用sysctl命令在Linux中启用端口转发

# echo "net.ipv4.conf.eth0.forwarding = 1">>/etc/sysctl.conf
# echo "net.ipv6.conf.eth0.forwarding = 1">>/etc/sysctl.conf
# sysctl -p
net.ipv4.conf.eth0.forwarding = 1
net.ipv6.conf.eth0.forwarding = 1

现在,我们在服务器上启用了端口转发,我们可以继续使用iptables配置端口转发规则。

参考资料

如何在Linux中转发端口

在这里,我们将端口80转发到172.31.40.29上的端口8080。不要将端口转发与端口重定向混淆。

我们需要在具有DNAT目标的iptables的PREROUTING链中插入一个条目。命令将如下


# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 172.31.40.29:8080
# iptables -A FORWARD -p tcp -d 172.31.40.29 --dport 8080 -j ACCEPT

根据您的要求更改接口,IP和端口。第一个命令告诉将进入端口80的数据包重定向到IP 172.31.40.29端口8080。

现在已应用规则。您需要验证它们。

如何检查端口转发iptables规则

# iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8080
..............

此处的REDIRECT目标是指其重定向规则。由于我们已经配置了转发规则,因此我们将目标视为DNAT

如何保存iptables规则

要保存iptables规则并使它们在重新启动后持续存在,请使用以下命令

# iptables-save

相关文章

  • linux下iptables端口转发设置

    linux下利用iptables规则配置端口转发 1、需求 将所有80端口的访问流量转发到本机8080端口。 2、...

  • iptables的端口映射

    iptables的端口范围映射 iptables设置端口转发规则原理 Linux - iptables做UDP数据...

  • [iptables] 端口转发

    iptables 端口转发配置规则 请求在防火墙中的路由过程 配置外网访问端口转发iptables -t nat ...

  • 使用linux的iptables配置端口转发

    在本文中,我们将引导您在Linux中使用iptables进行端口转发。首先,您需要检查服务器上是否启用了端口转发。...

  • rinetd 端口转发教程

    Linux 上有 iptables 具有端口转发的功能,但配置有点复杂,有另外一种TCP转发工具 rinetd,它...

  • Linux安装rinetd实现TCP/UDP端口转发

    在Linux系统中大多数情况选择用iptables来实现端口转发,iptables虽然强大,但配置不便,而且新手容...

  • 内网端口的转发

    端口的转发 一:linux系统下: 1、本地端口转发本地端口 iptables -t nat -A PREROUT...

  • Iptables 端口转发 port forward

    Linux 下配置iptables 实现端口转发。从网卡enp8s0 进, 从网卡enp8s0_priv_mac ...

  • linux 端口转发:iptables

    端口转发 iptables 是一个配置 Linux 内核 防火墙 的命令行工具,是 netfilter 项目的一部...

  • Linux配置防火墙

    Linux配置防火墙,开启80端口、3306端口、各种端口 vi /etc/sysconfig/iptables-...

网友评论

    本文标题:使用linux的iptables配置端口转发

    本文链接:https://www.haomeiwen.com/subject/iwsgictx.html