首页 > 系统相关 >Centos7 配置iptables NAT端口转发

Centos7 配置iptables NAT端口转发

时间:2023-01-16 16:35:58浏览次数:42  
标签:iptables NAT -- 转发 端口 Centos7 nat 规则

打开端口转发的功能

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

临时修改:

[root@localhost ~]# 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转发功能。

 

端口转发

假设用户访问本机(10.1.1.5)的3306端口时我想让它转发到10.1.1.1:3306

[root@mongo iptables]# cat iptables-open.sh
#!/bin/bash

iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 10.1.1.1:3306
iptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE

  

查看规则

查看当前iptables的nat表内的规则

iptables -t nat -nL --line

命令解释:

 -t nat指定看nat表,不用-t默认为filter表
 -L 列出表内所有规则,可以指定特定链
 -n 使输出中的IP地址和端口以数值的形式显示
 -v 输出详细化
 --line 显示出每条规则在相应链中的序号

 

 删除规则

如果要删除PREROUTING规则,命令为

iptables -t nat -D PREROUTING 1         # 1 代表前面的规则序号

如果要删除POSTROUTING规则,命令为

iptables -t nat -D POSTROUTING 5        # 5 代表前面的规则序号

命令解释

-t 指定配置表
-A, ––append 将规则添加到链中(最后)。
-I, ––insert 将规则添加到给定位置的链中。
-C, ––check 寻找符合链条要求的规则。
-D, ––delete 从链中删除指定的规则。
-F, ––flush 删除对应表的所有规则,慎重使用。
-L, ––list 连锁显示所有规则。
-v, ––verbose 使用列表选项时显示更多信息。
-P, --policy 设置链的默认策略(policy)
-N, --new 创建用户自定义链
-X, --delete-chain 删除用户自定义链
-E, --rename-chain 重命名用户自定义链
-j target 决定符合条件的包到何处去,target模式很多

  

 

标签:iptables,NAT,--,转发,端口,Centos7,nat,规则
From: https://www.cnblogs.com/yizhipanghu/p/17055728.html

相关文章

  • 【问题记录】【VUE】【vue-pure-admin】ElPagination你使用了一些已被废弃的方法,导致
    1 问题描述最近在看vue-pure-admin(一个前端框架),框架挺好的正常该有的都有,主要是使用比较简单,使用表格组件的时候,会出现一个报错,分页组件会莫名的报错。2 解决办......
  • CentOS7 安装redis
    1.检查是否有redisyum源yuminstallredis2.下载fedora的epel仓库yuminstallepel-release3.安装redisyuminstallredis4.启动redis服务systemctlstartredis......
  • iptables端口转发
    用一个例子说明:服务器:192.168.0.121:27896中转机:192.168.0.163:27896在192.168.0.121的端口27896上开启了一个服务器,我希望访问中转机192.168.0.163的27896也可以访问到......
  • -bash: nslookup: 未找到命令;centos7 安装nslookup
    一、安装服务[root@localhost~]#yum-yinstallbind-utils  二、查看[root@localhost~]#nslookup ......
  • 查看centos7系统资源使用情况
    1. df-h 2.uptime3.free-h4.vmstat5.top6.ps-aux--sort-pcpu|less  ps-aux--sort-pmem|less7.ps-ef|grepjava8.iostat----------------------......
  • Rancher安装(新) - CentOS7(Docker)环境
    Rancher安装(新)-CentOS7(Docker)环境 1.拉取镜像dockerpullrancher/rancher 2. 在宿主机上创建Rancher的挂载目录mkdir-p/docker_volume/rancher_home/{r......
  • Linux && CentOS7
    Linux&&CentOS7.6虚拟1.VMware虚拟机1.1如何安装VMware​ 官方链接:www.vmware.com​ VMware是用于在Linux或WindowsPC上运行虚拟机的行业标准桌面管理程......
  • Rabbit在Centos7上安装
    须知1:erlang与rabbit-mq版本:https://rabbitmq.com/which-erlang.html须知2:在下载erlang时 erlang-23.3.4.8-1.el7.x86_64.rpm 的el7 是centos7安装,如果是el8 在cento......
  • hdu:Ignatius and the Princess III(母函数)
    ProblemDescription“Well,itseemsthefirstproblemistooeasy.Iwillletyouknowhowfoolishyouarelater.”feng5166says.“Thesecondproblemis,g......
  • CentOS7出现dracut:/#...time错误的解决方法
    出现这个错误的原因是:找不到你的设备(启动盘) 网上很多人说ls|grepsdb查找自己的设备然而你的设备可能是sdc开头的所以不准确,建议用一下操作找自己的设备(启动盘)......