Linux端口转发 端口映射相关 (iptables实现)

一、本地端口映射

即访问192.168.10.11:8080 访问到192.168.10.11:80

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-ports 80 

二、异地端口映射

即访问192.168.10.11:8080 访问到192.168.10.20:80

注:虚拟机配置过程中,需打开端口,开启转发等功能;

       云上部署时,虽然云服务器中有安全组,但是在利用iptables进行转发时,同时需要利用iptables进行端口开启。之后进行端口转发;

如上操作,可参考:Linux用iptables实现网站访问重定向_服务器应用_Linux公社-Linux系统门户网站 (linuxidc.com)

1、开启转发功能

vim /etc/sysctl.conf

添加如下:
net.ipv4.ip_forward = 1 (永久开启转发功能)

sysctl -p

2、配置

# iptables -t nat -A PREROUTING  -p tcp -d 192.168.10.11 --dport 8080 -j DNAT --to-destination 192.168.10.20:80
# iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.20 --sport 80 -j SNAT --to-source 192.168.10.11

三、问题处理

1、没有iptables服务

systemctl stop firewalld
systemctl mask firewalld
yum install iptables.services
systemctl enable iptables
systemctl start iptables

2、开启某个端口

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT (开启8080端口)

3、关于规则保存

service iptables save

systemctl restart iptables

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 中添加端口转发规则通常可以使用 iptables 命令或者 firewalld 服务来实现。 1. 使用 iptables 命令添加端口转发规则 使用 iptables 命令添加端口转发规则的具体操作步骤如下: 首先需要开启 IP 转发功能,可以使用以下命令开启: ``` sysctl -w net.ipv4.ip_forward=1 ``` 然后添加端口转发规则,比如将主机的 8080 端口映射到虚拟机的 80 端口,可以使用以下命令: ``` iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 虚拟机IP:80 iptables -t nat -A POSTROUTING -d 虚拟机IP -p tcp --dport 80 -j SNAT --to-source Linux主机IP ``` 其中,`虚拟机IP` 是虚拟机的 IP 地址,`Linux主机IP` 是主机的 IP 地址。 2. 使用 firewalld 服务添加端口转发规则 使用 firewalld 服务添加端口转发规则的具体操作步骤如下: 首先需要开启 IP 转发功能,可以使用以下命令开启: ``` sysctl -w net.ipv4.ip_forward=1 ``` 然后添加端口转发规则,比如将主机的 8080 端口映射到虚拟机的 80 端口,可以使用以下命令: ``` firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toaddr=虚拟机IP:toport=80 firewall-cmd --zone=public --add-masquerade ``` 其中,`虚拟机IP` 是虚拟机的 IP 地址。 无论是使用 iptables 命令还是 firewalld 服务,添加端口转发规则后需要保存设置,以便重启后生效。可以使用以下命令保存 iptables 规则: ``` service iptables save ``` 可以使用以下命令保存 firewalld 规则: ``` firewall-cmd --runtime-to-permanent ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值