Blog26@linux网络端口安全下_iptables


*********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示例:

将内网从eth0网卡流入的数据包原地址修改为172.25.254.118

#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示例:

将从eth0网卡进来的要访问172.25.18.118 的数据包目的地址改为172.25.254.18

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 为内核路由功能


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值