赞
踩
根据源、目的IP和端口、协议、流向等判断是否允许通过。
名字 | 描述 |
---|---|
INPUT链 | 进方向,包目的地址为本机 |
OUPUT链 | 出方向,本机产生的包 |
FORWARD链 | 转发,路过本机的包 |
PREROUTING链 | 路由表转发前,一般用于SNAT |
POSTROUTING链 | 路由表转发后,一般用于DNAT |
filter表 | 默认常用表 |
nat表 | 用于NAT |
mangle表、raw表 | 用的少 |
参数 | 例子 |
---|---|
-P | iptables -P INPUT DROP 所有进来的包默认丢弃(默认接收) |
-L -n | iptables -L -n -t nat 查看nat表、 iptables -L -n 查看filter表 |
-A | iptables -A INPUT -p tcp --dport 666 -j ACCEPT 从INPUT链末尾增加规则 |
-I | iptables -I INPUT 3 -p tcp --dport 666 -j DROP 在INPUT链第三条增加规则 |
-D | iptables -D INPUT 2 删除INPUT链第二条策略 |
-F | iptables -F 删除所有策略、 iptables -F -t nat 删除所有nat表策略 |
参数 | 例子 |
---|---|
-i 从网口进 | eth0 |
-o 从网口出 | eth0 |
-s 源地址 | 10.10.10.10 |
-d 目的地址 | 10.10.10.10 |
-p 协议 | tcp、udp、ssh等等 |
-j 动作 | ACCEPT接收、DROP丢弃等等 |
-t 哪张表 | filter、nat等等 |
–dport 目的端口 | 22、2006等等 |
–sport 源端口 | 22、2006等等 |
多个端口 | –dport 21:25,135:139 |
iptables -t filter -A INPUT -i eth0 -s 10.10.10.10 --sport 666 -p tcp -j ACCEPT
#从末尾增加一条规则为进方向、从eth0网口进、源地址为10.10.10.10、源端口为666、协议为tcp的数据包接收
名字 | 描述 |
---|---|
ACCEPT | 接收 |
DROP | 丢弃 |
REDIRECT | 重新转向本机或其他主机的某端口,代理 |
SNAT | 源地址转换 |
DNAT | 目的地址转换 |
MASQUERADE | 动态转化自动找外网地址转 |
进出方向、动作、链的逻辑要理清,乱了会报错
#映射内网服务、POSTROUTING链、-i、DNAT
iptables -t nat -A POSTROUTING -i eth1 -d 1.1.1.1 --dport 1080 -p tcp -j DNAT --to 192.168.0.10:80
#访问公网IP1.1.1.1的1080端口实际是访问内网192.168.0.10的80端口
#访问外网服务、PREROUTING链、-o、 SNAT
iptables -t nat -A PREROUTING -o eth1 -s 192.168.0.11/16 -j SNAT --to 1.1.1.10-1.1.1.20
#内网地址192.168.0.11访问外网前转换成公网池里任意地址
银河麒麟系统没有iptables服务以及配置文件,可以安装ufw,也可以直接使用命令保存配置文件,开机导入。v4默认放行所有,重启恢复默认规则。
iptables-save > /etc/iptables.rules
#防火墙当前配置保存为文件
iptables-restore < /etc/iptables.rules
#导入防火墙文件配置
使防火墙配置一直生效
1.可以把iptables-restore < /etc/iptables.rules 这条命令放到/etc/network/interfaces里,网卡状态变化执行。
2.也可以放到/etc/rc.local里面,开机执行。
ubuntu记得命令要放在exit(0)前面,rc.local文件
exit(0):正常运行程序并退出程序,调用时程序运行正常结束;
exit(1):非正常运行导致退出程序,调用时程序运行非正常结束;
return():返回函数,若在主函数中,则会退出函数并返回一值,在其他函数中意味着函数调用完毕,并返回一个值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。