2023-01-16 16:23阅读: 1950评论: 0推荐: 0

Centos7 配置iptables NAT端口转发

打开端口转发的功能

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

临时修改:

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

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

永久修改:

1
2
3
4
5
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

1
2
3
4
5
[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表内的规则

1
iptables -t nat -nL --line

命令解释:

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

 

 删除规则

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

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

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

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

命令解释

1
2
3
4
5
6
7
8
9
10
11
12
13
-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模式很多

  

 

本文作者:香菜哥哥

本文链接:https://www.cnblogs.com/yizhipanghu/p/17055728.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   香菜哥哥  阅读(1950)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开