1. 程式人生 > >Centos7防火牆firewall與iptables設定

Centos7防火牆firewall與iptables設定

iptables配置

yum install iptables -y

iptables(選項)(引數)   -P:定義規則鏈中的預設策略;   -t<表>:指定要操縱的表;   -A:向規則鏈中新增條目;   -D:從規則鏈中刪除條目;   -I:向規則鏈中插入條目;   -R:替換規則鏈中的條目;   -L:顯示規則鏈中已有的條目;   -F:清除規則鏈中已有的條目;   -Z:清空規則鏈中的資料包計算器和位元組計數器;   -N:建立新的使用者自定義規則鏈;   -h:顯示幫助資訊;   -p:指定要匹配的資料包協議型別;   -s:指定要匹配的資料包源ip地址;

  -j<目標>:指定要跳轉的目標;   -i<網路介面>:指定資料包進入本機的網路介面;   -o<網路介面>:指定資料包要離開本機所使用的網路介面

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

  iptbales -A INPUT -i ens33 -p tcp --dport 22 -j reject

只允許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

  iptables -A INPUT -p tcp --dport 3306 -j ACCEPT  iptables -A INPUT -p tcp --dport 8080 -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