####iptables####

1.防火墙策略

       防火墙策略一般分为两种,一种叫“通”策略,一种叫“堵”策略,通策略,默认门是关着的,必须要定义谁能进。堵策略则是,大门是洞开的,但是你必须有身份认证,否则不能进。所以我们要定义,让进来的进来,让出去的出去,所以通,是要全通,而堵,则是要选择。当我们定义的策略的时候,要分别定义多条功能,其中:定义数据包中允许或者不允许的策略,filter过滤的功能,而定义地址转换的功能的则是nat选项。为了让这些功能交替工作,我们制定出了“表”这个定义,来定义、区分各种不同的工作功能和处理方式。

我们现在用的比较多个功能有3个:

1.filter 定义允许或者不允许的
2.nat 定义地址转换的 
                3.mangle功能:修改报文原数据
对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT
对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
而mangle则是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
 
iptables/netfilter(这款软件)是工作在用户空间的,它可以让规则进行生效的,本身不是一种服务,而且规则是立即生效的。而我们iptables现在被做成了一个服务,可以进行启动,停止的。启动,则将规则直接生效,停止,则将规则撤销。 
iptables还支持自己定义链。但是自己定义的链,必须是跟某种特定的链关联起来的。在一个关卡设定,指定当有数据的时候专门去找某个特定的链来处理,当那个链处理完之后,再返回。接着在特定的链中继续检查。

注意:规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。

2.配置

把firewalld关闭然后启用iptables
Linux--RH254---unit 10 iptables
iptables
     -t     ##指定表名称
     -n    ##不作解析
     -L    ##列出指定表中的策略
     -A    ##增加策略
     -p    ##网络协议
     --dport    ##端口
     -s    ##数据来源
     -j    ##动作
     ACCEPT    ##允许
     REJRCT    ##拒绝
     DROP    ##丢弃
     -N    ##增加链
     -E    ##修改链名称
     -X    ##删除链
     -D    ##删除指定策略
     -I    ##插入
     -R    ##修改策略
     -P    ##修改默认策略

iptables -t filter -nL    ##查看filter表中的策略

Linux--RH254---unit 10 iptables

iptables -F    ##刷掉filter表中的所有策略,当没有用-t指定表名称时默认是filter

service iptables save    ##保存当前策略

Linux--RH254---unit 10 iptables

iptables -A INPUT -i lo -j ACCEPT    ##允许lo回环接口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    ##允许访问22端口
iptables -A INPUT -s 172.25.254.31 -j ACCEPT    ##允许31主机访问本机所有端口

iptables -A INPUT -j REJECT    ##拒绝所有主机的数据来源

Linux--RH254---unit 10 iptables

iptables -N redhat    ##增加链redhat

Linux--RH254---unit 10 iptables

iptables -E redhat westos    ##改变链名称

Linux--RH254---unit 10 iptables

iptables -X westos    ##删除westos链

Linux--RH254---unit 10 iptables

iptables -D INPUT 2    ##删除INPUT链中的第二条策略

Linux--RH254---unit 10 iptables

iptables -I INPUT -p tcp --dport 80 -j REJECT    ##插入策略到INPUT中的第一条

Linux--RH254---unit 10 iptables

iptables -R INPUT 1 -p tcp --dport 80 -j REJECT    ##修改第一条策略

Linux--RH254---unit 10 iptables

iptables -P INPUT DROP    ##把INPUT表中的默认策略改为drop
Linux--RH254---unit 10 iptables


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

iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT

iptables -A INPUT -j REJECT

Linux--RH254---unit 10 iptables


sysctl -a | grep forward
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf

sysctl -p    ##生效

Linux--RH254---unit 10 iptables

iptables -t nat -nL
iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-dest 172.25.31.231

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.131

Linux--RH254---unit 10 iptables

vim /etc/sysconfig/network-scripts/ifcfg-eth0

systemctl restart network

route -n

Linux--RH254---unit 10 iptables

Linux--RH254---unit 10 iptables

测试

ping 172.25.254.131

Linux--RH254---unit 10 iptables

相关文章:

  • 2021-04-06
  • 2021-06-01
  • 2021-05-21
  • 2021-04-12
  • 2021-12-16
  • 2021-05-11
  • 2021-11-22
  • 2021-05-10
猜你喜欢
  • 2021-04-06
  • 2021-06-17
  • 2021-12-26
  • 2021-06-02
  • 2021-05-18
  • 2021-10-01
  • 2021-11-10
相关资源
相似解决方案