感谢支持
我们一直在努力

iptables的基本配置

 ㈠ 基本操作

列出现有iptables策略

iptables -L

插入一条策略

iptables -I INPUT 3 -p tcp –dport 22 -j ACCEPT

注释:所有使用TCP协议并且目标端口是22的流量全部允许通过的顺序为3的策略

删除一条策略

iptables -D INPUT 3

删除所有策略(临时生效)

iptables -F

策略组成表:

㈡ 匹配参数

基于IP地址

-s 192.168.1.1(源地址)

-d 192.168.1.0/24(目标地址)

基于接口

-i eth0(从eth0上接收的流量)

-o eth1(从eth1上发送的流量)

排除参数

-s ‘!’ 192.168.1.0/24(除192.168.1.0/24之外的所有网段)

基于协议以及端口

-p tcp –dport 23 (目标端口)

-p udp –sport 53 (源端口)

-p lcmp

 ㈢ 例子

① 控制到本机的网络流量

iptables -A INPUT -s 192.168.1.100 -j DROP

iptables -A INPUT -p tcp –dport 80 -j DROP

iptables -A INPUT -s 192.168.1.0/24 -p tcp –dport 22 -j DROP

iptables -A INPUT -i eth0 -j ACCEPT

② 当使用linux作为路由(进行数据转发)设备使用时,可以在过滤点FORWARD设置策略进行转发控制

如:禁止所有192.168.1.0/24到10.1.1.0/24的流量

iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.1.0/24 -j DROP

③ NAT(网络地址转换)用来对数据包的IP地址进行修改的机制,NAT分为两种:

● SNAT:源地址转换,通常用于伪装内部地址

● DNAT:目标地址转换,通常用于跳转(负载均衡或者伪装保护)

iptables中实现NAT功能的是NAT表

DNAT只能作用在PROROUTING这个过滤点上

SNAT只能作用在POSTROUTING这个过滤点上

★ 通过NAT进行跳转:

iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-dest 192.168.1.10

★ 通过NAT对出向数据进行跳转:

iptables -t nat -A OUTPUT -p tcp –dport 80 -j DNAT –to-dest 192.168.1.100:8080

★ 通过NAT对数据流进行伪装:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

★ 通过NAT隐藏源IP地址

iptables -t nat -A POSTROUTING -j SNAT –to-source 1.3.1.4

㈣ 配置文件

通过iptables添加的策略并不会永久保存

如果需要永久保存策略,则需要将此记录在配置文件中

/etc/sysconfig/iptables

通过以下命令可以把内存中的iptables策略全部写入配置文件

service iptables save

㈤ 小结

如果是远程管理一个linux主机并修改iptables策略,则必须先允许来自客户端主机的ssh流量确保这是第一条iptables策略,

否则,可能由于配置失误将自己锁在外面

赞(0) 打赏
转载请注明出处:服务器评测 » iptables的基本配置
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏