首页 > 技术文章 > linux中iptables防火墙相关命令

Magiclala 2022-02-17 15:13 原文

https://www.cnblogs.com/seven1979/p/4173927.html

https://blog.csdn.net/shenjianxz/article/details/62877992

iptables配置文件 直接改iptables配置就可以了:

vim /etc/sysconfig/iptables

 

你首先要明白什么是"PREROUTING" ,什么是"POSTROUTING",我们可以简单的用下面的关系来表示:

源地址发送数据--> {PREROUTING-->路由规则-->POSTROUTING} -->目的地址接收到数据


PREROUTING(SNAT) 源地址转换 将局域网中用户的IP地址NAT转换成172.17.16.126,使他们也可以上网

正确的做法是
iptables -t nat -A PREROUTING -s 100.64.0.0/17 -j SNAT 172.17.16.126

 

 
 POSTROUTING 用于别人访问你的内部服务器,例如:
A.你的服务器IP地址为:192.168.1.2;
B.你的防火墙(Linux & iptables)地址为192.168.1.1和202.96.129.5

的用户可以正常的访问202.96.129.5,但他们无法访问192.168.1.2,这时在Linux防火墙里可以做这样的设置:
iptables -t nat -A POSTROUTING -d 202.96.129.5 -j DNAT 192.168.1.2
这样别人就可以访问你的192.168.1.2
 
我们要记住PREROUTING是“路由规则”之前的动作,POSTROUTING是“路由规则”之后的动作!
 
——————————————————————————————————————————————
例子:
目的地址转换
iptables -t nat -A PREROUTING -i eth0 -s 192.16.0.0/24 -j DROP
来自于 eth0 这个网卡 IP地址段是 192.16.0.0/24 的转换全部 丢弃
 
 
iptables -t nat "-t nat"为选择nat表,iptables有四个表与五个链,
4个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。
filter:一般的过滤功能
nat:用于nat功能(端口映射,地址映射等)
mangle:用于对特定数据包的修改
raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
-A 向PREROUTING末端添加一条规则
5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARDING:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外转发
POSTROUTIONG:发送到网卡接口之前
-i -进入的(网络)接口
-s 指定源地址
-j 指定规则的目标
DROP 拒绝

推荐阅读