Centos7防火牆firewall與iptables設定
iptables配置
yum install iptables -y
iptables(選項)(引數) -P:定義規則鏈中的預設策略; -t<表>:指定要操縱的表; -A:向規則鏈中新增條目; -D:從規則鏈中刪除條目; -I:向規則鏈中插入條目; -R:替換規則鏈中的條目; -L:顯示規則鏈中已有的條目; -F:清除規則鏈中已有的條目; -Z:清空規則鏈中的資料包計算器和位元組計數器; -N:建立新的使用者自定義規則鏈; -h:顯示幫助資訊; -p:指定要匹配的資料包協議型別; -s:指定要匹配的資料包源ip地址;
iptables -t 表名 <-A/I/D/R> 規則鏈名 [規則號] <-i/o 網絡卡名> -p 協議名 <-s 源IP/源子網> --sport 源埠 <-d目標IP/目標子網> --dport 目標埠 -j 動作
只允許192.168.121.0/24網段的主機訪問22埠,即ssh iptables -A INPUT -i ens33 -p tcp -s 192.168.121.0/24 --dport 22 -j ACCEPT
只允許192.168.121.0/24網段的主機ping iptabls -A INPUT -i ens33 -p icmp -s 192.168.121.0/24 -j ACCEPT iptbales -A INPUT -i ens33 -p icmp -j reject
命令列新增開放埠: iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT
儲存輸入開放埠: /etc/rc.d/init.d/iptables save
vim /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT –A 引數就看成是新增一條規則 –p 指定是什麼協議,我們常用的tcp 協議,當然也有udp,例如53埠的DNS –dport 就是目標埠,當資料從外部進入伺服器為目標埠 –sport 資料從伺服器出去,則為資料來源埠使用 –j 就是指定是 ACCEPT -接收 或者 DROP 不接收 -m tcp 使用tcp擴充套件模組 -m state -state INVALID: ESTABLISHED: NEW: RELATED:
開機啟動/關閉iptbables
chkconfig iptbales on
chkconfig iptables off
service iptbales start/stop/status/restart
firewalld配置
使用firewall-cmd命令操作
[[email protected] ~]# firewall-cmd --get-zones #顯示可用區域 trusted home internal work public external dmz block drop [[email protected] ~]# firewall-cmd --get-default-zone #顯示預設使用區域 public
[[email protected] ~]# firewall-cmd --get-active-zones #顯示正在使用區域和網絡卡 public interfaces: ens33 [[email protected] ~]# firewall-cmd --set-default-zone=trusted #設定預設區域 Warning: ZONE_ALREADY_SET: trusted success [[email protected] ~]# firewall-cmd --reload success [[email protected] ~]# firewall-cmd --panic--on#開啟防火牆緊急模式 success [[email protected] ~]# firewall-cmd --panic-off#關閉防火牆緊急模式 success [[email protected] ~]# firewall-cmd --zone=public --query-service=ssh #查詢是否允許ssh服務請求 yes [[email protected] ~]# firewall-cmd --zone=public --query-service=http no [[email protected] ~]# firewall-cmd --zone=public --query-service=https no [[email protected] ~]# firewall-cmd --zone=public --add-service=http #設定允許http服務請求 success [[email protected] ~]# firewall-cmd --zone=public --add-service=https success [[email protected] ~]# firewall-cmd --zone=public --add-service=https --permanent#設定永久允許http服務請求 success [[email protected] ~]# firewall-cmd --zone=public --add-service=http --permanent success [[email protected] ~]# firewall-cmd --zone=public --remove-service=https --permanent#設定永久拒絕http服務請求 success [[email protected] ~]# firewall-cmd --zone=public --remove-service=http --permanent [[email protected] ~]# firewall-cmd --reload success [[email protected] ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent #設定永久允許訪問3306埠 success [[email protected] ~]# firewall-cmd --zone=public --remove-port=3306/tcp --permanent 設定永久拒絕訪問3306埠 success [[email protected] ~]# firewall-cmd --zone=public --list-ports 3306/tcp
流量轉發命令: firewall-cmd --permanent --zone=<區域> --add-forward-port=port=<源埠>:proto=<協議>:toport=<目標埠>:toaddr=<ip地址> firewall-cmd --permanent --zone=public --add-forward-port=port=1020:proto=tcp:toport=22:toaddr=192.168.121.121
富規則: firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address=192.168.121.0/24 service name="ssh" reject"
[[email protected] ~]# firewall-cmd --get-services #顯示預先定義的服務 RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nfs3 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
除了iptbale和firewalld防火牆策略設定,還可有服務的訪問控制列表
/etc/hosts.allow /etc/hosts.deny