我是靠谱客的博主 忐忑路灯,最近开发中收集的这篇文章主要介绍Linux学习篇第三章之~防火墙,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

------------------------------------------------------------iptables---------------------------------------------------------------
1.基本命令
iptable    -t                         ##指定表名称
                -n                        ##不做解析

                -L                       ##列出指定表中的策略


                -A                      ##增加策略
                -P                       ##网络协议
                --dport               ##端口
                -s                        ##数据来源
                -j                        ##动作
               ACCEPT           ##允许
               REJECT             ##拒绝
               DROP                ##丢弃
               -N                       增加链
               -E                       修改链名称
               -X                      删除链
               -D                      删除指定策略
               -I                        插入
               -R                      修改策略
               -P                       修改默认策略


----------------------------------------------------------------------------------------------------------------------------------------------------------

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


iptables -F                                     刷掉filter表中所有celue


service iptables save                                                                保存当前策略
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.43 -j ACCEPT               允许43主机访问本机所有端口

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


 iptables -N redhat                    ##增加redhat链

 

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


 iptables -X westos                   ##删除westos链


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


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


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

------------------------------------------------------------防火墙路由设置----------------------------------------------------------------------------------------------------------------

143  主机,两个不同网段的网卡
iptables -F

sysctl -a | grep forward                   ##查看forward状态


echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf

sysctl -p


[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.254.143  netmask 255.255.255.0  broadcast 172.25.254.255
        inet6 fe80::5054:ff:fe00:2a0a  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:00:2a:0a  txqueuelen 1000  (Ethernet)
        RX packets 18063  bytes 7684479 (7.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2518  bytes 278564 (272.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.0.143  netmask 255.255.255.0  broadcast 172.25.0.255
        inet6 fe80::5054:ff:fef7:1d5a  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:f7:1d:5a  txqueuelen 1000  (Ethernet)
        RX packets 14287  bytes 2120844 (2.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 88  bytes 12459 (12.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-dest 172.25.0.143
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.143

测试:

172.25.0.43主机通过路由 ping172.25.254.143




--------------------------------------------------------------------firewalld---------------------------------------------------------------------

***查看firewalld的状态:
firewall-cmd --state
***查看当前活动的区域,并附带一个目前分配给它们的接口列表:
 firewall-cmd --get-active-zones
***查看默认区域:
 firewall-cmd --get-default-zone
***查看所有可用区域:
 firewall-cmd --get-zones
***列出指定域的所有设置:
 firewall-cmd --zone=public --list-all
***列出所有预设服务:
 firewall-cmd --get-services
***列出所有区域的设置:
 firewall-cmd --list-all-zones


***设置默认区域:(信任所有网络连接)
firewall-cmd --set-default-zone=trused


***设置网络地址到指定的区域:
firewall-cmd --permanent --zone=internal --add-source=172.25.254.155
(--permanent参数表示永久生效设置,如果没有指定--zone参数,那么会加入默认区域)


***删除指定区域中的网路地址:
firewall-cmd --permanent --zone=internal --remove-source=172.25.254.155


***添加、改变、删除网络接口:
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=internal --change-interface=eth0
firewall-cmd --permanent --zone=internal --remove-interface=eth0


***添加、删除服务:
 firewall-cmd --permanent --zone=public --add-service=smtp
 firewall-cmd --permanent --zone=public --remove-service=smtp

测试:

172.25.0.44可以通过http访问172.25.0.43

172.25.254.155可以访问172.25.243.143(该网卡是trusted)


***列出、添加、删除端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
***重载防火墙:
firewall-cmd --reload

***添加规则:
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.155 -p tcp --dport 22 -j ACCEPT

###除了172.25.254.155以外的都以通过22端口访问


***删除规则:
firewall-cmd --direct --remove-rule ipv4 filter IN_public_allow 10 -p tcp --dport 80 -j ACCEPT
***列出规则:
firewall-cmd --direct --get-all-rules

伪装:
# firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 sourceaddres=172.25.254.155 masquerade'

> server端

> client 端


端口转发:
# firewall-cmd --permanent --zone=<ZONE> --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.155

测试:





最后

以上就是忐忑路灯为你收集整理的Linux学习篇第三章之~防火墙的全部内容,希望文章能够帮你解决Linux学习篇第三章之~防火墙所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部