centos 7�з���ǽ��һ���dz���ǿ��Ĺ����ˣ�������centos 7���ڷ���ǽ�н����������ˣ���������һ������ϸ�Ŀ�������centos 7�з���ǽʹ�÷�����
FirewallD �ṩ��֧������/����ǽ����(zone)�������������Լ��ӿڰ�ȫ�ȼ��Ķ�̬����ǽ�������ߡ���֧�� IPv4, IPv6 ����ǽ�����Լ���̫���Žӣ�����ӵ������ʱ���ú���������ѡ���Ҳ֧�������������Ӧ�ó���ֱ�����ӷ���ǽ����Ľӿڡ� ��ǰ�� system-config-firewall/lokkit ����ǽģ���Ǿ�̬�ģ�ÿ���Ķ�Ҫ�����ǽ��ȫ������������̰����ں� netfilter ����ǽģ���ж�غ�����������ģ���װ�صȡ���ģ���ж�ؽ����ƻ�״̬����ǽ��ȷ�������ӡ�
�෴��firewall daemon ��̬��������ǽ������Ҫ������������ǽ���Ӧ�ø��ġ����Ҳ��û�б�Ҫ���������ں˷���ǽģ���ˡ�������Ҫʹ�� firewall daemon ��Ҫ�����ǽ�����б����Ҫͨ�����ػ�������ʵ�֣���ȷ���ػ������е�״̬���ں���ķ���ǽ��һ�µġ����⣬firewall daemon �������� ip*tables �� ebtables �����й������ӵķ���ǽ����
�ػ�����ͨ�� D-BUS �ṩ��ǰ����ķ���ǽ������Ϣ��Ҳͨ�� D-BUS ����ʹ�� PolicyKit ��֤��ʽ���ĸ��ġ�
“�ػ�����”
Ӧ�ó����ػ����̺��û�����ͨ�� D-BUS ��������һ������ǽ���ԡ����Կ�����Ԥ����ķ���ǽ���ܣ��磺���˿ں�Э�����ϡ��˿�/���ݱ�ת����αװ��ICMP ���ػ��Զ������ȡ��ù��ܿ�������ȷ����һ��ʱ��Ҳ�����ٴ�ͣ�á�
ͨ����ν��ֱ�ӽӿڣ������ķ���(���� libvirt )�ܹ�ͨ�� iptables ��Ԫ(arguments)�Ͳ���(parameters)�����Լ��Ĺ���
amanda ��ftp ��samba �� tftp ����� netfilter ����ǽ����Ҳ��“�ػ�����”�����,ֻҪ���ǻ���ΪԤ��������һ���֡��������ֵ�װ�ز���Ϊ��ǰ�ӿڵ�һ���֡�����һЩ����ֻ������ģ����Ƶ��������Ӷ��رպ�ſ�װ�ء����������������Ϣ����Ҫ����Ҫ���뿼�Ƿ�Χ��
��̬����ǽ(system-config-firewall/lokkit)
ʹ�� system-config-firewall �� lokkit �ľ�̬����ǽģ��ʵ������Ȼ���ò��������ṩ����ȴ������“�ػ�����”ͬʱʹ�á��û����߹���Ա���Ծ���ʹ����һ�ַ�����
��������װ�����������������״�����ʱ���������һ��ѡ������ͨ���������ѡ��Ҫʹ�õķ���ǽ�����������Ľ����������������������ͨ������ģʽ���á�
firewall daemon ������ system-config-firewall�������߲���ͬʱʹ�á�
ʹ��iptables��ip6tables�ľ�̬����ǽ����
�������ʹ���Լ��� iptables �� ip6tables ��̬����ǽ����, ��ô�밲װ iptables-services ���ҽ��� firewalld ������ iptables ��ip6tables:
yum install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
��̬����ǽ���������ļ��� /etc/sysconfig/iptables �Լ� /etc/sysconfig/ip6tables .
ע��iptables �� iptables-services ���������ṩ���������ʹ�õķ���ǽ����. ��Щ�������������ϼ������Լ�����ʹ���Լ�����ǽ�������ʹ�õ�. �����װ��ʹ�� system-config-firewall ����������������Ҫ�Ĺ���. Ϊ����ʹ�� system-config-firewall, �����ֹͣ firewalld.
Ϊ��������ͣ�� firewalld �Ϳ������� iptables �� ip6tables ������:
systemctl stop firewalld.service
systemctl start iptables.service
systemctl start ip6tables.service
ʲô������
�������������������ӵĿ��ŵȼ�������һ��һ�Զ�Ĺ�ϵ������ζ��һ�����ӿ��Խ�����һ�������һ���֣���һ������������ںܶ����ӡ�
Ԥ����ķ���
�����Ƕ˿ں�/��Э����ڵ���ϡ���ѡ���ݰ��� netfilter ����ģ���Լ� IPv4��IPv6��ַ��
�˿ں�Э��
������ tcp �� udp �˿ڣ��˿ڿ�����һ���˿ڻ��߶˿ڷ�Χ��
ICMP����
����ѡ�� Internet ���Ʊ���Э��ı��ġ���Щ���Ŀ�������Ϣ��������Ƕ���Ϣ��������������������Ӧ��
αװ
˽�������ַ���Ա�ӳ�䵽������IP��ַ������һ������ĵ�ַת����
�˿�ת��
�˿ڿ���ӳ�䵽��һ���˿��Լ�/��������������
�ĸ��������?
��firewalld �ṩ�������մӲ����ε����ε�˳������
����
�κ���������İ������������������κ���Ӧ��ֻ�����������������ӡ�
����
�κν�����������Ӷ����ܾ��������� IPv4 �� icmp-host-prohibited ���Ļ��� IPv6 �� icmp6-adm-prohibited ���ġ�ֻ�����ɸ�ϵͳ��ʼ�����������ӡ�
����
���Կ��Թ����IJ��֡�����Ϊ�����������ļ���������Ų��ҿ����˺���ļ������ֻ����ѡ�е����ӽ��롣��You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.��
�ⲿ
����·����������αװ���ⲿ���硣����Ϊ�����������ļ���������Ų��ҿ����˺���ļ������ֻ����ѡ�е����ӽ��롣
��������dmz��
����������������dmz���еĵ������ر����������ʡ�ֻ���ܱ�ѡ�е����ӡ�
����
���ڹ������硣�����������еĴ�������������Ӱ����ļ������ֻ���ܱ�ѡ�е����ӡ�
��ͥ
���ڼ�ͥ���硣�����������еĴ�������������Ӱ����ļ������ֻ���ܱ�ѡ�е����ӡ�
�ڲ�
�����ڲ����硣�����������еĴ�������������Ӱ����ļ������ֻ���ܱ�ѡ�е����ӡ�
�����ε�
���������������ӡ�
��Ӧ��ѡ���ĸ�����?
���磬������ WIFI ����Ӧ����ҪΪ�������εģ���ͥ����������Ӧ�����൱�����εġ���������ʹ�õ���������ϵ��������ѡ��
������û�����������?
�����ʹ���κ�һ�� firewalld ���ù��������û������������Լ������á����������� firewall-config ������ͼ�ν��湤�ߣ� firewall-cmd �����������й��ߣ��Լ�D-BUS�ӿڡ�������Ҳ�����������ļ�Ŀ¼�д������߿��������ļ��� @PREFIX@/lib/firewalld/zones ������Ĭ�Ϻͱ������ã�/etc/firewalld/zones �������û��������Զ��������ļ���
���Ϊ�����������û���������
���������� ZONE= ѡ�� �洢���������ӵ�ifcfg�ļ��С�������ѡ��ȱʧ����Ϊ�գ�firewalld ��ʹ�����õ�Ĭ������
�����������ܵ� NetworkManager ���ƣ���Ҳ����ʹ�� nm-connection-editor ��������
��NetworkManager���Ƶ���������
����ǽ���ܹ�ͨ�� NetworkManager ��ʾ�������������������ӣ�ֻ����������ӿڡ��������������֮ǰ NetworkManager �������ļ��������Ӷ�Ӧ������ӿڸ��� firewalld ������������ļ���û���������ӿڽ����õ� firewalld ��Ĭ�����������������ʹ���˲�ֹһ���ӿڣ����еĽӿڶ���Ӧ�õ� fiwewalld���ӿ����Ƶĸı�Ҳ���� NetworkManager ���Ʋ�Ӧ�õ�firewalld��
Ϊ�˼��Դˣ��������ӽ�������������Ĺ�ϵ��
���һ���ӿڶϿ��ˣ�NetworkManagerҲ������firewalld��������ɾ���ýӿڡ�
��firewalld��systemd����init�ű���������������firewalld��֪ͨNetworkManager�������������ӵ�����
�ɽű����Ƶ�����
����������ű����Ƶ�������һ�����ƣ�û���ػ�����֪ͨ firewalld ���������ӵ�������������� ifcfg-post �ű����С���ˣ��˺���������ӵ������������ܱ�Ӧ�õ�firewalld��ͬ���������ӻʱ���� firewalld ����������ʧȥ���������������������������ǽ�ȫ��δ�������Ӽ���Ĭ������
�������˱������з���ǽ�����ԣ�
ʹ��firewalld
�����ͨ��ͼ�ν��湤�� firewall-config ���������пͻ��� firewall-cmd ���û��߹رշ���ǽ���ԡ�
ʹ��firewall-cmd
�����й��� firewall-cmd ֧��ȫ������ǽ���ԡ�����״̬�Ͳ�ѯģʽ������ֻ����״̬��û�����������
һ��Ӧ��
��ȡ firewalld ״̬
firewall-cmd --state
�˾ٷ��� firewalld ��״̬��û���κ����������ʹ�����·�ʽ���״̬�����
firewall-cmd --state && echo "Running" || echo "Not running"
�� Fedora 19 ��, ״̬����ȴ�ǰֱ��:
# rpm -qf $( which firewall-cmd )
firewalld-0.3.3-2.fc19.noarch# firewall-cmd --state
not running
�ڲ��ı�״̬�����������¼��ط���ǽ��
firewall-cmd --reload
�����ʹ��–complete-reload��״̬��Ϣ���ᶪʧ�����ѡ��Ӧ�������ڴ�������ǽ����ʱ�����磬״̬��Ϣ�ͷ���ǽ�������������Dz��ܽ����κ����ӵ������
��ȡ֧�ֵ������б�
firewall-cmd --get-zones
������������ÿո�ָ����б���
��ȡ����֧�ֵķ���
firewall-cmd --get-services
������������ÿո�ָ����б���
��ȡ����֧�ֵ�ICMP����
firewall-cmd --get-icmptypes
������������ÿո�ָ����б���
�г�ȫ�����õ����������
firewall-cmd --list-all-zones
�����ʽ�ǣ�
<zone>
interfaces: <interface1> ..
services: <service1> ..
ports: <port1> ..
forward-ports: <forward port1> ..
icmp-blocks: <icmp type1> ....
������� <zone> ȫ�����õ����ԡ��������������ʾĬ���������Ϣ��
firewall-cmd [--zone=<zone>] --list-all
��ȡĬ���������������
firewall-cmd --get-default-zone
����Ĭ������
firewall-cmd --set-default-zone=<zone>
����Ĭ�����������õĽӿڵ��·������������µ�Ĭ������ǰ������ӽ�����Ӱ�졣
��ȡ�������
firewall-cmd --get-active-zones
������������¸�ʽ���ÿ�����������ӿڣ�
<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..
���ݽӿڻ�ȡ����
firewall-cmd --get-zone-of-interface=<interface>
�����������ӿ��������������ơ�
���ӿ����ӵ�����
firewall-cmd [--zone=<zone>] --add-interface=<interface>
����ӿڲ��������ӿڽ������ӵ������������ʡ���ˣ���ʹ��Ĭ�����ӿ������¼��غ�����Ӧ�á�
�Ľӿ���������
firewall-cmd [--zone=<zone>] --change-interface=<interface>
���ѡ���� –add-interface ѡ�����ƣ����ǵ��ӿ��Ѿ���������һ�������ʱ�ýӿڽ������ӵ��µ�����
��������ɾ��һ���ӿ�
firewall-cmd [--zone=<zone>] --remove-interface=<interface>
��ѯ�������Ƿ����ij�ӿ�
firewall-cmd [--zone=<zone>] --query-interface=<interface>
���ؽӿ��Ƿ�����ڸ�����û�������
�о����������õķ���
firewall-cmd [ --zone=<zone> ] --list-services
����Ӧ��ģʽ��������������ӣ��Է����ֽ���״��
firewall-cmd --panic-on
����Ӧ��ģʽ
firewall-cmd --panic-off
Ӧ��ģʽ�� 0.3.0 �汾�з����˱仯
�� 0.3.0 ֮ǰ�� FirewallD�汾��, panic ѡ���� –enable-panic �� –disable-panic.
��ѯӦ��ģʽ
firewall-cmd --query-panic
�������Ӧ��ģʽ��״̬��û�����������ʹ�����·�ʽ���״̬�����
firewall-cmd --query-panic && echo "On" || echo "Off"
��������ʱ����
����ʱģʽ�¶�������е��IJ���������Ч�ġ����¼��ػ����������Ľ�ʧЧ��
���������е�һ�ַ���
firewall-cmd [--zone=<zone>] --add-service=<service> [--timeout=<seconds>]
�˾����������е�һ�ַ������δָ������ʹ��Ĭ����������趨�˳�ʱʱ�䣬����ֻ�����ض���������������Ѿ���Ծ�����������κξ�����Ϣ��
��: ʹ�����е�ipp-client������Ч60��:
firewall-cmd --zone=home --add-service=ipp-client --timeout=60
��: ����Ĭ�������е�http����:
firewall-cmd --add-service=http
���������е�ij�ַ���
firewall-cmd [--zone=<zone>] --remove-service=<service>
�˾ٽ��������е�ij�ַ������δָ������ʹ��Ĭ������
��: ��ֹhome�����е�http����:
firewall-cmd --zone=home --remove-service=http
�����ֵķ������á��������û�����ã����������κξ�����Ϣ��
��ѯ�������Ƿ��������ض�����
firewall-cmd [--zone=<zone>] --query-service=<service>
����������ã�������1,����0��û�������Ϣ��
��������˿ں�Э�����
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
�˾ٽ����ö˿ں�Э�����ϡ��˿ڿ�����һ�������Ķ˿� <port> ������һ���˿ڷ�Χ <port>-<port> ��Э������� tcp �� udp��
���ö˿ں�Э�����
firewall-cmd [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
��ѯ�������Ƿ������˶˿ں�Э�����
firewall-cmd [--zone=<zone>] --query-port=<port>[-<port>]/<protocol>
������ã�������з���ֵ��û�������Ϣ��
���������е�IPαװ����
firewall-cmd [--zone=<zone>] --add-masquerade
�˾����������αװ���ܡ�˽������ĵ�ַ�������ز�ӳ�䵽һ������IP�����ǵ�ַת����һ����ʽ��������·�ɡ������ں˵����ƣ�αװ���ܽ�������IPv4��
���������е�IPαװ
firewall-cmd [--zone=<zone>] --remove-masquerade
��ѯ�����αװ״̬
firewall-cmd [--zone=<zone>] --query-masquerade
������ã�������з���ֵ��û�������Ϣ��
���������ICMP��������
firewall-cmd [--zone=<zone>] --add-icmp-block=<icmptype>
�˾ٽ�����ѡ�е�Internet���Ʊ���Э�飨ICMP�����Ľ���������ICMP���Ŀ�����������Ϣ���ߴ�����Ӧ���ģ��Լ�����Ӧ��
��ֹ�����ICMP��������
firewall-cmd [--zone=<zone>] --remove-icmp-block=<icmptype>
��ѯ�����ICMP��������
firewall-cmd [--zone=<zone>] --query-icmp-block=<icmptype>
������ã�������з���ֵ��û�������Ϣ��
��: �����������ӦӦ����:
firewall-cmd --zone=public --add-icmp-block=echo-reply
�����������ö˿�ת����ӳ��
firewall-cmd [--zone=<zone>] --add-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
�˿ڿ���ӳ�䵽��һ̨������ͬһ�˿ڣ�Ҳ������ͬһ��������һ�����IJ�ͬ�˿ڡ��˿ںſ�����һ�������Ķ˿� <port> �����Ƕ˿ڷ�Χ <port>-<port> ��Э�����Ϊ tcp ��udp ��Ŀ��˿ڿ����Ƕ˿ں� <port> �����Ƕ˿ڷ�Χ <port>-<port> ��Ŀ���ַ������ IPv4 ��ַ�����ں����ƣ��˿�ת�����ܽ�������IPv4��
��ֹ����Ķ˿�ת�����߶˿�ӳ��
firewall-cmd [--zone=<zone>] --remove-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
��ѯ����Ķ˿�ת�����߶˿�ӳ��
firewall-cmd [--zone=<zone>] --query-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
������ã�������з���ֵ��û�������Ϣ��
��: ������home��sshת����127.0.0.2
firewall-cmd --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
������������
����ѡ�ֱ��Ӱ������ʱ��״̬����Щѡ��������ػ�����������ʱ���á�Ϊ��ʹ������ʱ���������ã���Ҫ�ֱ��������ߡ� ѡ�� –permanent ��Ҫ���������õĵ�һ��������
��ȡ����ѡ����֧�ֵķ���
firewall-cmd --permanent --get-services
��ȡ����ѡ����֧�ֵ�ICMP�����б�
firewall-cmd --permanent --get-icmptypes
��ȡ֧�ֵ���������
firewall-cmd --permanent --get-zones
���������еķ���
firewall-cmd --permanent [--zone=<zone>] --add-service=<service>
�˾ٽ��������������еķ������δָ������ʹ��Ĭ������
���������е�һ�ַ���
firewall-cmd --permanent [--zone=<zone>] --remove-service=<service>
��ѯ�����еķ����Ƿ�����
firewall-cmd --permanent [--zone=<zone>] --query-service=<service>
����������ã�������з���ֵ��������û�������Ϣ��
��: �������� home �����е� ipp-client ����
firewall-cmd --permanent --zone=home --add-service=ipp-client
�������������е�һ���˿�-Э�����
firewall-cmd --permanent [--zone=<zone>] --add-port=<port>[-<port>]/<protocol>
���ý��������е�һ���˿�-Э�����
firewall-cmd --permanent [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
��ѯ�����еĶ˿�-Э������Ƿ���������
firewall-cmd --permanent [--zone=<zone>] --query-port=<port>[-<port>]/<protocol>
����������ã�������з���ֵ��������û�������Ϣ��
��: �������� home �����е� https (tcp 443) �˿�
firewall-cmd --permanent --zone=home --add-port=443/tcp
�������������е�αװ
firewall-cmd --permanent [--zone=<zone>] --add-masquerade
�˾����������αװ���ܡ�˽������ĵ�ַ�������ز�ӳ�䵽һ������IP�����ǵ�ַת����һ����ʽ��������·�ɡ������ں˵����ƣ�αװ���ܽ�������IPv4��
���ý��������е�αװ
firewall-cmd --permanent [--zone=<zone>] --remove-masquerade
��ѯ�����е�αװ������״̬
firewall-cmd --permanent [--zone=<zone>] --query-masquerade
����������ã�������з���ֵ��������û�������Ϣ��
�������������е�ICMP����
firewall-cmd --permanent [--zone=<zone>] --add-icmp-block=<icmptype>
�˾ٽ�����ѡ�е� Internet ���Ʊ���Э�� ��ICMP�� ���Ľ��������� ICMP ���Ŀ�����������Ϣ���ߴ�����Ӧ���Ļ����Ӧ���ġ�
���ý��������е�ICMP����
firewall-cmd --permanent [--zone=<zone>] --remove-icmp-block=<icmptype>
��ѯ�����е�ICMP����״̬
firewall-cmd --permanent [--zone=<zone>] --query-icmp-block=<icmptype>
����������ã�������з���ֵ��������û�������Ϣ��
��: �������������е���ӦӦ����:
firewall-cmd --permanent --zone=public --add-icmp-block=echo-reply
���������������ö˿�ת����ӳ��
firewall-cmd --permanent [--zone=<zone>] --add-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
�˿ڿ���ӳ�䵽��һ̨������ͬһ�˿ڣ�Ҳ������ͬһ��������һ�����IJ�ͬ�˿ڡ��˿ںſ�����һ�������Ķ˿� <port> �����Ƕ˿ڷ�Χ <port>-<port> ��Э�����Ϊ tcp ��udp ��Ŀ��˿ڿ����Ƕ˿ں� <port> �����Ƕ˿ڷ�Χ <port>-<port> ��Ŀ���ַ������ IPv4 ��ַ�����ں����ƣ��˿�ת�����ܽ�������IPv4��
���ý�ֹ����Ķ˿�ת�����߶˿�ӳ��
firewall-cmd --permanent [--zone=<zone>] --remove-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
��ѯ����Ķ˿�ת�����߶˿�ӳ��״̬
firewall-cmd --permanent [--zone=<zone>] --query-forward-port=port=<port>[-<port>]:proto=<protocol> { :toport=<port>[-<port>] | :toaddr=<address> | :toport=<port>[-<port>]:toaddr=<address> }
����������ã�������з���ֵ��������û�������Ϣ��
��: �� home ����� ssh ����ת���� 127.0.0.2
firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
ֱ��ѡ��
ֱ��ѡ����Ҫ����ʹ�����Ӧ�ó����ܹ����ӹ��� ���ᱻ���棬�����¼��ػ�������֮������ٴ��ύ�����ݵIJ��� <args> �� iptables, ip6tables �Լ� ebtables һ�¡�
ѡ��–direct��Ҫ��ֱ��ѡ��ĵ�һ��������
������ݸ�����ǽ������ <args> ������ iptables, ip6tables �Լ� ebtables �����в�����
firewall-cmd --direct --passthrough { ipv4 | ipv6 | eb } <args>
Ϊ�� <table> ����һ������ <chain> ��
firewall-cmd --direct --add-chain { ipv4 | ipv6 | eb } <table> <chain>
�ӱ� <table> ��ɾ���� <chain> ��
firewall-cmd --direct --remove-chain { ipv4 | ipv6 | eb } <table> <chain>
��ѯ <chain> ���Ƿ������� <table>. ����ǣ�����0,����1.
firewall-cmd --direct --query-chain { ipv4 | ipv6 | eb } <table> <chain>
������ã�������з���ֵ��������û�������Ϣ��
��ȡ�ÿո�ָ��ı� <table> �������б���
firewall-cmd --direct --get-chains { ipv4 | ipv6 | eb } <table>
Ϊ�� <table> ����һ������Ϊ <args> ���� <chain> �����ȼ��趨Ϊ <priority>��
firewall-cmd --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>
�ӱ� <table> ��ɾ�������� <args> ���� <chain>��
firewall-cmd --direct --remove-rule { ipv4 | ipv6 | eb } <table> <chain> <args>
��ѯ������ <args> ���� <chain> �Ƿ���ڱ� <table> ��. ����ǣ�����0,����1.
firewall-cmd --direct --query-rule { ipv4 | ipv6 | eb } <table> <chain> <args>
������ã�������з���ֵ��������û�������Ϣ��
��ȡ�� <table> ���������ӵ��� <chain> �Ĺ����û��зָ���
firewall-cmd --direct --get-rules { ipv4 | ipv6 | eb } <table> <chain>
��ǰ��firewalld����
D-BUS�ӿ�
D-BUS �ӿ��ṩ����ǽ״̬����Ϣ��ʹ����ǽ�����á�ͣ�û��ѯ���ó�Ϊ���ܡ�
����
������߷���ǽ�����������ӵĿ��ų̶ȡ�firewalld �ṩ�˼���Ԥ�����������������ѡ���ͨ��������Ϣ������firewall.zone(5)���ֲ���鵽��
����
���������һϵ�б����˿ڡ�Ŀ���Լ�������Ϣ��Ҳ�����Ƿ�������ʱ�Զ����ӵķ���ǽ����ģ�顣Ԥ��������ʹ��ʹ���úͽ��öԷ���ķ��ʱ�ø��Ӽ���������ѡ���ͨ���ļ���Ϣ�� firewalld.service(5) �ֲ�����������
ICMP����
Internet���Ʊ���Э�� (ICMP) �����Խ������ĺͻ�����Э�� (IP) �Ĵ����ġ��� firewalld �п���ʹ�� ICMP ���������Ʊ��Ľ����� ICMP ��������ѡ���ͨ���ļ���Ϣ���Բ��� firewalld.icmptype(5) �ֲᡣ
ֱ�ӽӿ�
ֱ�ӽӿ���Ҫ���ڷ������Ӧ�ó��������ض��ķ���ǽ������Щ����������Ч���������յ� firewalld ͨ�� D-Bus ���ݵ������������������źź���Ҫ����Ӧ�á�
����ʱ����
����ʱ���ò���������Ч�������¼���ʱ���Ա��ָ�����ϵͳ���߷���������ֹͣʱ����Щѡ��ᶪʧ��
��������
�������ô洢�������ļ��֣�ÿ�λ����������߷������������¼���ʱ���Զ��ָ���
��������
����С���� firewall-applet Ϊ�û���ʾ����ǽ״̬�ʹ��ڵ����⡣��Ҳ�������������û������ĵ����á�
ͼ�λ����ù���
firewall daemon ��Ҫ�����ù����� firewall-config ����֧�ַ���ǽ���������ԣ������ɷ���/Ӧ�ó������ӹ���ʹ�õ�ֱ�ӽӿڣ��� ����ԱҲ�����������ı�ϵͳ���û����ԡ�
�����пͻ���
firewall-cmd�����������ṩ��ͼ�ι����������ԵĹ��ߡ�
����ebtables��֧��
Ҫ����libvirt daemon��ȫ���������ں� netfilter ���Ϸ�ֹ ip*tables �� ebtables ��������⣬ebtables ֧������Ҫ�ġ�������Щ�����Ƿ�����ͬ�ṹ�ģ��������ͬʱʹ�á�
/usr/lib/firewalld�е�Ĭ��/��������
��Ŀ¼�������� firewalld �ṩ��Ĭ���Լ����õ� ICMP ���͡������������á��� firewalld �������ṩ����Щ�ļ����ܱ��ģ���ʹ��Ҳ������ firewalld �������ĸ��±����á� ������ ICMP ���͡������������ÿ���ͨ�����������ߴ����ļ��ķ�ʽ�ṩ��
/etc/firewalld�е�ϵͳ��������
�洢�ڴ˵�ϵͳ�����û������ļ�������ϵͳ����Աͨ�����ýӿڶ��Ƶģ�Ҳ�������ֶ����Ƶġ���Щ�ļ�������Ĭ�������ļ���
Ϊ���ֶ���Ԥ����� icmp ���ͣ�������߷���Ĭ������Ŀ¼�����ÿ�������Ӧ��ϵͳ����Ŀ¼��Ȼ�������������ġ�
������������Ĭ�Ϻͱ������õ������� /etc/firewalld�µĶ�Ӧ�ļ�����������Ϊ <file>.old Ȼ�����ñ������á�
���ڿ���������
������
�����������ṩ��һ�ֲ���Ҫ�˽�iptables���ͨ�����������ø��� IPv4 �� IPv6 ����ǽ����Ļ��ơ�
Fedora 19 �ṩ�˴��� D-Bus ��������֧�ֵĸ��������Ե�2����̱��汾����3����̱��汾Ҳ���ṩ����ͼ�ν��� firewall-config ��֧�֡�
���ڴ����Եĸ�����Ϣ������ģ� firewalld Rich Language
����
��������Ϊ firewalld ��������������Ӧ�û��߷������õļ����÷�ʽ������һ����������Ӧ�ó�����ԡ�
Fedora 19 �ṩ���������Եĵڶ�����̱��汾������ D-Bus ��������֧�֡���3����̱��汾Ҳ���ṩͼ�ν��� firewall-config �µ�֧�֡�
������Ϣ����ģ� firewalld Lockdown
����ֱ�ӹ���
�������Դ�������״̬�������ܹ��ṩ����ֱ�ӹ����ֱ�����Ĺ��ܡ�ͨ���������ڸ����ԡ��������ֱ�ӹ������Ϣ�����Direct options��
��ip*tables��ebtables����Ǩ��
�������Դ�������״̬�������������ṩ��iptables,ip6tables �� ebtables ��������ת��Ϊ����ֱ�ӹ���Ľű�������������firewalld�ṩ��ֱ�������ɷ�����ܴ��ھ����ԡ�
�����Խ���Ҫ�������ӷ���ǽ���õ�Ǩ�Ʋ��ԡ�
�ƻ������鹦��
����ǽ����ģ��
�� ip*tables �� ebtables ����ǽ����֮�����ӳ����ʹ���ӹ������ֱ�ۡ�Ҫ����㹦��ǿ��ͬʱ�ֲ��ܸ��ӣ�������һ�������Ϊ�ˣ����ò�����һ�ַ���ǽ���ԡ�ʹ����ǽ����ӵ�й̶���λ�ã����Բ�ѯ�˿ڵķ���״̬�����ʲ��Ե���ͨ��Ϣ��һЩ�������ܵķ���ǽ���ԡ�
����conntrack��֧��
Ҫ��ֹ����������ȷ����������Ҫ conntrack ��������һЩ�������ֹ���ӿ����Dz��õģ��磺Ϊ��������ʱ���ڵ��������ⲿ���Ӷ����õķ���ǽ����
�û�����ģ��
���Ƿ���ǽ���û����߹���Ա�������õ�һ������ģʽ��Ӧ�ó�������Ҫ���ķ���ǽ����������û�֪�����Ա�ȷ�Ϻͷ��ϡ�Ϊһ�����ӵ���Ȩ����һ��ʱ�����Ʋ���������������������������ǿ��еġ����ÿ��Ա����Ա㽫������֪ͨ���Ӧ����ͬ��Ϊ�� ��ģʽ����һ�������ǹ�����Ӧ�ó���������������ͬ���ܵ�Ԥѡ����Ͷ˿ڵ��ⲿ���ӳ��ԡ�����Ͷ˿ڵ�����Ҳ�����Ʒ����û�������������
�û�����֧��
����Ա���Թ涨��Щ�û�����ʹ���û�����ģʽ�����Ʒ���ǽ�������ԡ�
�˿�Ԫ������Ϣ(�� Lennart Poettering ����)
ӵ��һ���˿ڶ�����Ԫ������Ϣ�Ǻܺõġ���ǰ�� /etc/services �Ķ˿ں�Э�龲̬����ģ�Ͳ��Ǹ��õĽ��������Ҳû�з�ӳ��ǰʹ�������Ӧ�ó�������Ķ˿��Ƕ�̬�ģ�����˿ڱ�������������ʹ�������
Ԫ������Ϣ��������Ϊ����ǽ�ƶ��Ĺ���������һЩ���ӣ�
�����ⲿ�����ļ�����Ӧ�ó�������
�����ⲿ�������ֹ���Ӧ�ó�������
�����ⲿ����ȫ������Ӧ�ó�������
�����ⲿ���� torrent �ļ�����Ӧ�ó�������
�����ⲿ���� http �������
�����Ԫ������Ϣ��ֻ���ض�Ӧ�ó���������һ��ʹ����������磺��“ȫ������”������“�ļ�����”���Զ�Ӧ��ȫ���������ļ���������(�磺torrent �ļ�����)����Щֻ�����ӣ���������ܲ�û��ʵ���ô���
�������ڷ���ǽ�л�ȡԪ������Ϣ�����ֿ���;����
��һ�������ӵ� netfilter (�ں˿ռ�)���ô���ÿ���˶�����ʹ��������Ҳ��һ��ʹ�����ơ���Ҫ�����û���ϵͳ�ռ�ľ�����Ϣ��������Щ����Ҫ���ں˲���ʵ�֡�
�ڶ��������ӵ� firewall daemon �С���Щ����Ĺ�����Ժ;�����Ϣ(�磺�������ӿ��ż�����Ϊ�������/����Ҫ�������û�����������Ա��ֹ��ȫ������Ӧ�����)һ��ʹ�á�
�ڶ��ֽ�������ĺô��Dz���ҪΪ���µ�Ԫ�����������ı�(���ż����û�ƫ�û����Ա����ȵ�)���±����ںˡ���Щ������������ʹ�� firewall daemon �������ɡ���ʹ���µİ�ȫ��Ҳ����Ҫ�����ں˼����������ӡ�
sysctld
�������� sysctl ����û����ȷӦ�á�һ�������ǣ��� rc.sysinit ������ʱ�����ṩ���õ�ģ��������ʱû��װ�ػ�������װ�ظ�ģ��ʱ�ᷢ�����⡣
��һ�������� net.ipv4.ip_forward ������ǽ���á�libvirt ���û�/����Ա���Ķ���Ҫ�������������Ӧ�ó�����ػ�����ֻ����Ҫʱ���� ip_forwarding ��֮���������һ���ڲ�֪��������¹ص�������һ������Ҫ������ʱ�Ͳ��ò���������
sysctl daemon ����ͨ��������ʹ���ڲ������������������⡣��ʱ����֮ǰ�����߲�����Ҫʱ�����ͻ��ٴλص�֮ǰ������״̬������ֱ�ӹر�����
����ǽ����
netfilter ����ǽ���������ܵ�����˳���Ӱ�죬��Ϊһ������������û�й̶���λ�á���һ������֮ǰ���ӻ���ɾ������ı�˹����λ�á� �ھ�̬����ǽģ���У��ı����ǽ�����ؽ�һ���ɾ������Ƶķ���ǽ���ã��������� system-config-firewall / lokkit ֱ��֧�ֵĹ��ܡ�Ҳû����������Ӧ�ó�������ǽ����������Զ�������ļ�����û��ʹ�� s-c-fw / lokkit �Ͳ�֪�����ǡ�Ĭ����ͨ��Ҳû�а�ȫ�ķ�ʽ���ӻ�ɾ���������Ӱ����������
��̬����ǽ�и��ӵķ���ǽ����������Щ������������Ѷ����˳����е��ã�������������ӹ����������ǰ���õľܾ��Ͷ������Ӷ����ڴ�����Ϊ�������Ƶķ���ǽ���á�
������һЩ���ػ����̴����Ĺ������б����������ڹ�������� ssh , mdns �� ipp-client ��֧�֣�
*filter
:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:FORWARD_ZONES - [0:0]:FORWARD_direct - [0:0]:INPUT_ZONES - [0:0]:INPUT_direct - [0:0]:IN_ZONE_public - [0:0]:IN_ZONE_public_allow - [0:0]:IN_ZONE_public_deny - [0:0]:OUTPUT_direct - [0:0]-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct
-A INPUT -j INPUT_ZONES
-A INPUT -p icmp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -j FORWARD_direct
-A FORWARD -j FORWARD_ZONES
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -j OUTPUT_direct
-A IN_ZONE_public -j IN_ZONE_public_deny
-A IN_ZONE_public -j IN_ZONE_public_allow
-A IN_ZONE_public_allow -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A IN_ZONE_public_allow -d 224.0.0.251/32 -p udp -m udp --dport 5353 -m conntrack --ctstate NEW -j ACCEPT
-A IN_ZONE_public_allow -p udp -m udp --dport 631 -m conntrack --ctstate NEW -j ACCEPT
ʹ�� deny/allow ģ��������һ��������Ϊ(���û�г�ͻ����)�����磺 ICMP�齫���� IN_ZONE_public_deny ��(���Ϊ�������������˵Ļ�)�������� IN_ZONE_public_allow ��֮ǰ������
��ģ��ʹ���ڲ�������������������һ����������ӻ�ɾ���������ø������ס�
�����RHEL/CentOS 7�Լ�Fedora������FirewallD��//m.ajphoenix.com/linux/8573.html
ʹ��FirewallD������̬����ǽ��//m.ajphoenix.com/linux/5908.html
Ubuntu����ǽ-the Uncomplicated Firewall��ufw����//m.ajphoenix.com/linux/5412.html