您的位置:首页 > 理论基础 > 计算机网络

Blog26@linux网络端口安全下_iptables

2017-12-07 08:28 302 查看

*********iptables********

iptables命令管理参数如下:



一、iptables的安装

为iptable创建一个纯净的环境如下操作:

    1  yum search iptables

    2  yum install iptables-services.x86_64 -y

    3  systemctl stop firewalld

    4  systemctl disable firewalld

    5  systemctl mask firewalld

    6  systemctl start iptables.service

    7  systemctl enable iptables.service

    8  iptables -t filter -L

    9  iptables -t filter -nL

   10  iptables -F    ##刷新策略

   11  service iptables save    ##将iptables表内容永久保存

二、iptables 的基本管理命令

策略的查看与刷新:

iptables -vnL:查看iptables表中策略

iptables -t nat -nL:查看nat策略

iptables -t nat -L PREROUTING:查看nat表PREROUTING链的规则

iptables -F:刷新策略

iptables -t nat -F:清空nat策略(-F仅仅是清空链中规则,并不影响-P设置的默认规则)

iptables -t nat -F PREROUTING:清空nat表PREROUTING链的规则

策略的添加、删除与更改:

iptables -A INPUT -s 192.168.0.4 -p tcp --dport 23 -j REJECT:

iptables -A INPUT -s 192.168.0.4 -p tcp --dport 23 -j DROP:(访问

拒绝,无任何提示)

iptables -I INPUT 2 -p tcp --dport 23 -j DROP:插入到第二条策略

iptables -D INPUT 3:删除filter表中的第三条规则

iptables -D INPUT -s 192.168.0.1 -j DROP:按内容删除

iptables -R INPUT 3 -j ACCEPT:将原来编号为3的规则内容替换为-j

ACCEPT

规则链的设置:

iptables -N redhat:添加自定义链名

iptables -D redhat 1:删除自定义链下的策略

iptables -X redhat:删除自定义链

iptables -E allowed disallowed:修改规则链名称

iptables -P INPUT DROP: 设置filter表INPUT链的默认规则 ,当数据包没有被规则列表里的任何规则匹配到时,按此默认规则处理

三、地址的伪装与转发

POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则;

SNAT就是改变转发数据包的源地址 --to-source:

PREROUTING:(外部访问内部)可以在这里定义进行 目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;

DNAT就是改变转发数据包的目的地址 --to-dest:

SNAT示例:

#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.118

#sysctl -a | grep ip_forward

#vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

#sysctl -p

DNAT示例:

iptables -t nat -A PREROUTING -i eth1 -d 172.25.18.118 -j DNAT --to-dest 172.25.254.18

四、基于状态的匹配扩展

每个网络连接包括以下信 息:源地址、目标地址、源端口、目的端口,称为套接字对(socket pairs);协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些信息称为状态(stateful)。状态包过滤防火墙能在内存中维护一个跟踪状态的表,
命令格式如下:

iptables -m state --state

»NEW: 该包想要开始一个新的连接(重新连接或连接重定 向)

»RELATED:该 包是属于某个已建立的连接所建立的新连接。举例:FTP的

数据传输连接和控制连接之间就是RELATED关系。

»ESTABLISHED:该包属于某个已建立的连接。

»INVALID:该 包不匹配于任何连接,通常这些包被DROP。

我们一般设置服务器策略如下:

#iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#iptables -A INPUT -m state --state NEW -i lo -j ACCEPT

#iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT

#iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT

#iptables -A INPUT -j REJECT

注:iptables 不会打开内核智能,做NAT SANT 为内核路由功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息