iptables的nat规则骚操作
2024-08-26 20:57:21
水一枪
我对防火墙这块的认知是比较低的, 之前一直没怎么去用
最多的要么就是
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 定义新的规则
最新文章
- Docker搭建便捷的开发者环境
- Oracle中获取当前时间半小时前的时间
- mininet之miniedit可视化操作
- 【转载】Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Part 52 Attributes in C#
- ash, bash, ksh, csh, zsh
- css透明度的设置
- shell自动化巡检
- 一天就学会Android开发四大组件
- ruby中如何直接编译运行C代码
- Yii2表单提交(带文件上传)
- 使用原生 python 造轮子搭建博客
- 手写SpringMVC实现
- css繼承
- [转] Mongoose简要API
- Alpha冲刺10
- Java设计模式之八 ----- 责任链模式和命令模式
- Linux内核分析——Linux内核学习总结
- Ubuntu17安装Jenkins
- redis调优 -- 内存碎片