火墙——firewalld and iptables

来源:互联网 发布:飞控算法 编辑:程序博客网 时间:2024/06/15 01:32

trusted(信任):可接受所有的网络连接
home(家庭):用于家庭网络,仅接受ssh,mdns,ipp-client,samba-client,或dhcpv6-client服务连接
internal(内部):用于内部网络,仅接受ssh,mdns,ipp-client,samba-client,或dhcpv6-client服务连接
work(工作):用于工作区,仅接受ssh,ipp-client,dhcpv6-client服务连接
public(公共):在公共区域内使用,仅接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
external(外部):出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接
dmz(非军事区):仅接受ssh服务连接
block(限制):拒绝所有网络连接
drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复

火墙框架

firewalld

firewalld的图形方式:

   yum install httpd -y   systemctl start httpd   systemctl start firewalld   firewall-config &     ##firewall的图形   firewall-cmd --list-all    ##监控,当在图形里更改时,可查看firewalld的变化   runtime-----临时设定   permanent-------永久设定   opintions-->change default zone   ##改变区域   zons--->pors--->add    #添加访问端口

这里写图片描述

这里写图片描述

这里写图片描述

基本设定:

16  firewall-cmd --state     ##查看firewall现在的状况17  firewall-cmd --get-active-zones     ##查看正在使用的区域 18  firewall-cmd --get-default-zone     ##查看默认区域19  firewall-cmd --get-zones20  firewall-cmd --zone=public --list-all    ##列出public区域的所有信息21  firewall-cmd --get-services      ##列出所有可打开的服务22  firewall-cmd --list-all-zones     ##列出所有区域23  firewall-cmd --set-default-zone=dmz   ##设定默认区域为dmz

这里写图片描述

这里写图片描述

这里写图片描述

firewall-cmd --zone=internal --add-source=ip/24    ##设定指定机可访问firewall-cmd --zone=internal --remove-source=ip/24

这里写图片描述“`

设定网卡eth0,eth1(与主机同一网段例:172.25.13.213##同网段时才可访问默认firewall-cmd --remove-interface=eth1 --zone=public   ##将eth1从public移出firewall-cmd --add-interface=eth1 --zone=trusted     ##添加eth1给完全信任区域

这里写图片描述

firewall-cmd --permanent --add-source=172.25.254.88 --zone=block     ##禁止172.25.254.88连接  firewall-cmd --reload     ##不会中断已经连接的设备firewall-cmd --complete-reload ##会中断firewall-cmd --permanent --remove-source=172.25.254.88 --zone=block    ##移出firewall-cmd --complete-reload

这里写图片描述

这里写图片描述

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.88 -p tcp --dport 21 -j REJECT  ##只应许88机访问21端口(lftp服务)firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.88 -p tcp --dport 22 -j REJECT|ACCEPT    ##拒绝|应许88机访问22端口(ssh服务)ss -antlpe | grep ftp      ##查看ftp服务端口

这里写图片描述

这里写图片描述

这里写图片描述“`

这里写图片描述

主机两个网卡,eth0:172.25.254.213 eth1:172.25.13.213
firewall-cmd –add-masquerade
在另一个虚拟机上设定eth0(网关为172.25.13.213,ip为172.25.13.xx)
ping 172.25.254.213 ##在内核由13.213转为254.213
这里写图片描述

这里写图片描述

firewall-cmd –add-forward-port=port=22:proto=tcp:toprot=22:toaddr=172.25.254.122 ##将访问我22端口的用户转到122机上
这里写图片描述

iptables

创造纯净火墙环境 197  yum search iptables    ##查找iptables  198  yum install iptables-services.x86_64  199  systemctl stop firewalld  200  systemctl disable firewalld  201  systemctl mask firewalld  202  systemctl start iptables.service   203  systemctl enable iptables.service   204  iptables -F       ##将原来设定的策略刷掉  205  service iptables save   ##保存  206  iptables -t filter -nL   ##查看(iptables -nL)-A  添加策略   -I 插入策略  -D 删除策略  -X 删除链   nL 列出数据   -t 表  -p 协议  -P 设置的默认规则   -j 动作  -F 刷新    -E 改链名      -R 替换策略  -N 添加自定义链名 

这里写图片描述

 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -j REJECT iptables -nL iptables -D INPUT -p tcp --dport 80 -j ACCEPT iptables -nL iptables -I INPUT 3 -p tcp --dport 80 -j ACCEPT iptables -nL

这里写图片描述

这里写图片描述

 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 -nL

这里写图片描述

在masquerade关闭的情况下:iptables -t nat -nL    ##列出nat表       iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.213      ##iptables -t nat -A PREROUTING -i eth0 -d 172.25.254.213 -j DNAT --to-dest 172.25.13.13    ##13.13为客户端ip,13.213为客户端的网关,服务端有两个网卡,客户端访问254.213时被转为13.213即与服务端同网段之后才能访问到254.213上的内容sysctl -a | grep ip_forwardvim /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p                 ##当net.ipv4.ip_forward 开启时,才能访问到

这里写图片描述

这里写图片描述

原创粉丝点击