水一枪

我对防火墙这块的认知是比较低的, 之前一直没怎么去用

最多的要么就是

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

,这还是以前刚出来接触linux的时候redhat6跑的,后来改革了,好吧,centos7

firewall-cmd --zone=public --add-port=6379/tcp --permanent && firewall-cmd --reload

直到我与区块链搭上了肩膀才用上了iptables端口转发

上面水了一段,正文开始

需求

在生产环境上面所在运行的数据库做一个远程连接,前提是数据库不能重启(由于原先只有一个root用户而且限定是本地使用的,不能添加额外连接用户)

那么这个时候就可以用iptables做一个小小的映射,其实说的那么玄乎,无非就是nat规则...

把本地的3306端口映射出去变成63306,外面连接的语句是

mysql -uroot -p'password' -h xxxxx -P 63306

注:当访问63306的时候,会自动去请求3306,然后返回数据,当然,63306是不受监听的哈,那些用过kali或者渗透的朋友是不是应该想到了什么呢...

什么?没有?那当我没说过。

实现

先扔三条code去抠一下

echo 1 >/proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.conf.eth0.route_localnet=1
sysctl -w net.ipv4.conf.default.route_localnet=1

不用说也知道这是干嘛的了,【允许数据包转发】

nat规则

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 63306 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 63306 -j SNAT --to-source 127.0.0.1

注:这是允许所有外来的IP访问,慎用。

限制单个来源IP

iptables -t nat -R PREROUTING 4 -s 192.168.40.154 -p tcp -m tcp --dport 63306 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat -R POSTROUTING 4 -s 192.168.40.154 -p tcp -m tcp --dport 63306 -j SNAT --to-source 127.0.0.1

注:这是只给外网的192.168.40.154连接, 其他的都连不上,

修改规则(4代表编号, --line-number可查看对应编号, -s 指定来源IP)。

查看nat规则

iptables -L -t nat --line-number

删除nat规则

iptables -t nat -D POSTROUTING 1

笔记

-A 追加规则-->iptables -A INPUT
-D 删除规则-->iptables -D INPUT 1(编号)
-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)
-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位
-L 查看规则-->iptables -L INPUT 列出规则链中的所有规则
-N 新的规则-->iptables -N allowed 定义新的规则

转载于:https://www.cnblogs.com/chenglee/p/11519497.html

iptables的nat规则骚操作相关推荐

  1. 删除iptables nat 规则

    删除FORWARD 规则: iptables -nL FORWARD --line-number iptables -D FORWARD 1 删除一条nat 规则  删除SNAT规则 iptables ...

  2. linux iptables 端口 防火墙 规则

    开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCE ...

  3. iptables实现NAT

    1.1 什么是NAT 在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改, 更为确切的说,除了将源MAC地址换成 ...

  4. iptables及其过滤规则

    1. iptables是Linux内核的一个模块,用以管理对网络设备(网卡)的访问,如路由过滤.端口转发.NAT等,root用户可以通过iptables配置操作系统的路由表.在当前的主流Linux发布 ...

  5. 公司里开发用的机器,虚拟机、网络、转发、ssh连接、远程桌面、远程开机……等一系列骚操作的操作概述

    我这里讲的都是如何回家后还可以连接公司电脑,且省电.不伤机器的事啊,审核的各位别误会了. 这篇就不要提docker了,两码事. 也不要纠结什么hyperV.virtualBox还是vmware的了,无 ...

  6. iptables之nat表的学习和实验

    本次实验接着上一篇博客<iptables之filter表的学习和实验>进行(https://blog.csdn.net/weixin_40042248/article/details/11 ...

  7. CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

    自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源. 而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个 ...

  8. iptables防火墙过滤规则

    iptables  包过滤 防火墙 firewall  防火墙工作在网络边缘(主机边缘)对于进出的网络数据包进行规则排查,并在匹配某规则时由规则定义的处理进行处理的功能组件 防火墙类型 根据工作区域不 ...

  9. [iptables]Redhat 7.2下使用iptables实现NAT

    [iptables]Redhat 7.2下使用iptables实现NAT Redhat 7.2下使用iptables实现NAT zerg_79 | 2005年二月24日, 17:16 环境: 一台DE ...

最新文章

  1. 考研加油!考研的兄弟姐妹们!
  2. PDF下载!提高代码质量的一本书
  3. LVS DR模式搭建、keepalived+LVS
  4. 各种浏览器的各种hack
  5. 使用jupyter计算正态分布_专栏 | 基于 Jupyter 的特征工程手册:数据预处理(三)...
  6. sql server重命名_在Linux上SQL Server中重命名逻辑和物理文件名
  7. http 回应头的闷事
  8. nrf52840芯片入门
  9. 华为云学院-人人学loT学习笔记- 第四章 物联网关 汇聚回传
  10. oracle 简版客户端instantclient使用 oledb ODAC组件使用
  11. 机器学习之监督学习-分类模型K近邻(KNN)算法实现
  12. 2021-4-28 合抱之木,生于毫末,九层之台,起于垒土
  13. 机场安检 matlab实现,机场安检过程改进的方案.doc
  14. MacOS 利用keka.app压缩工具制作dmg文件
  15. mysql实现周月表_按天周月统计数据
  16. C#程序设计--任何一个自然数m的立方均可写成m个连续奇数之和
  17. NFT新范式,OKALEIDO创新NFT聚合交易生态
  18. DNS的工作过程详解
  19. 佳能r3和佳能r5哪个好
  20. 如何爬取微博全部粉丝python_python 登录新浪微博爬取粉丝信息

热门文章

  1. 为什么基类的析构函数是虚函数?
  2. Button或者ImageButton的背景设为透明或者半透明
  3. 结果不对_男子去医院抽血体检,拿到化验单发现不对劲,医院:医生专业不精...
  4. 请大家推荐几个快速的.net+sql server2005的虚拟主机
  5. 大规模文本分类实验-项目日志
  6. Windows2003内置用户组介绍
  7. java 异常总结_Java异常的十大问题总结
  8. [摘抄] 匈牙利命名法
  9. git——IntelliJ中配置使用git,码云管理项目
  10. Unity2D之Sprite动画相关