Linux中阶—常用配置iptables(一)

介绍:防火墙是整个数据包进入主机前的第一道关卡。防火墙主要通过Netfilter与TCPwrappers两个机制(来源于linux 内核)来管理的。

## iptables命令使用

参数

作用

案例

-N

Iptables默认4表5链,-N是自定义链。

iptables -N mgnt_ext

-F

清空规则链:

iptables -F

-L

查看规则链:

iptables -L ; iptables --line -nL

-D

num 删除某一条规则

iptables -D INPUT  1 (num)

-A

在规则链的末尾加入新规则:

iptables -A INPUT -s x.x.x.x/32 -p tcp --dport 1521 -j ACCEPT

-d

匹配目标地址

iptables -A INPUT -d 172.21.51.3/32 -j ACCEPT

-I

num 在规则链的头部加入新规则:

如果iptables -P INPUT DROP # 配置默认的不让进,则需要访问的主机添加白名单IP、协议、端口即可。
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT 2 -p icmp -j ACCEPT

iptables -I INPUT 3 -i lo -j ACCEPT

iptables -I INPUT 4 -s x.x.x.x/32  -j ACCEPT
iptables -I INPUT 4 -s x.x.x.x/32 -p tcp --dport 1521 -j ACCEPT
iptables -I INPUT 5 -m iprange --src-range x.x.x.136-x.x.x.139 -j ACCEPT


如果iptables -P INPUT ACCEPT # 配置默认允许进入,限制所有主机访问服务器的部分端口,只有添加白名单的主机能访问禁止的端口。
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT 2 -s x.x.x.x/32 -p tcp --dport 1521 -j ACCEPT
iptables -I INPUT 3 -m iprange --src-range x.x.x.136-x.x.x.139 -j ACCEPT
iptables -I INPUT 4 -i eth0 -p tcp -m multiport --dports 22,80,443,7236,8443,8843 -j DROP

-s

匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。

-i

网卡名称 匹配从这块网卡流入的数据

-o

网卡名称 匹配从这块网卡流出的数据

-p

匹配协议,如tcp,udp,icmp

-m

扩展模块
--state {NEW,ESTATBLISHED,INVALID,RELATED} 指定检测那种状态
multiport --sport 指定多个源端口
multiport --dport 指定多个目的端口
multiport --ports 指定多个所有端口
iprange --src-range ip-ip 指定多个源端口
iprange --dst-range ip-ip 指定多个目标端口
connlimit --comlimit-above # 限定大连接个数
limit --limit  指定速率
limit --limit-burst # 峰值速率,最大限定
string --algo bm|kmp  指定算法bm或kmp
string --string "STRING" 指定字符串本身

-j

指定了当与规则(Rule)匹配时如何处理数据包,可能的值是ACCEPT, DROP, QUEUE, RETURN,还可以指定其他链(Chain)作为目标。

iptables -A INPUT -j DROP

-P

设置默认策略

iptables -P INPUT DROP # 配置默认的不让进
iptables -P FORWARD DROP # 默认的不允许转发
iptables -P OUTPUT ACCEPT # 默认的可以出去

iptables-save

保存

service iptables save 或者 iptables-save >/etc/sysconfig/iptables

iptables-restore

恢复

iptables-restore < /etc/sysconfig/iptables

SNAT

源地址转换:代理内部客户端访问外部网络

iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 192.168.254.61

#POSTROUTING链上面,将来自源地址为172.16.0.0/16网段的数据包的源地址都转换为192.168.254.61

#基于动态IP地址来做NAT代理内部客户端来上网

#如果IP地址是动态获取的ADSL宽带来做NAT代理上网实现方式

iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o eth1 -j MASQUEREADE

注释:这里最好使用"-o"选项来指定出口,MASQUEREADE会自动调用该接口的地址作为源地址出去。

DNAT

目标地址转换:将内部服务器发布至外部网络

iptables -t nat -A PREROUTING -d 192.168.254.61 -j DNAT --to-destination 172.16.251.185

#PREROUTING链上面,将请求地址NAT服务器 eth1 192.168.1.254的数据包全部转发到PC1 172.16.251.185主机上

iptables -t nat -A PREROUTING -d 192.168.254.61 -p tcp --dport 80 -j DNAT --to-destination 172.16.251.185:8080

#此条规则是将所有请求NAT服务器eth1 192.168.254.61地址的80号端口都转发到172.16.251.185主机上8080端口,当然前提必须在PC1上面监听8080端口

下一篇:Linux中阶—日志采集rsyslog(二)

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值