一、直接修改配置文件vim
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO表明地址的分配方式,有dhcp、static、none
ONBOOT表明開機是否啓用網卡,參數有yes、no
子網掩碼能夠寫成NETMASK=255.255.255.0,也能夠寫成PREFIX0=24
修改完網卡配置文件後須要重啓網絡服務
systemctl restart networkcentos
二、nmtui(CentOS 五、6爲setup)網絡
三、nm-connection-editorapp
下面兩個選項要勾選,等同於ONBOOT的yes或nossh
四、小圖標tcp
一、iptableside
其中拒絕流量分爲兩種
①REJECT——直接拒絕,對方看到的是直接你拒絕他的消息
②DROP——丟包策略,對方看到你是不在線的(起到隱藏主機的做用)ui
iptables -L #-L表明查看已有的規則列表,INPUT從外到內默認規則是放行全部流量
iptables -F #清空原有的防火牆策略
iptables -I INPUT -p icmp -j REJECT #-I表明放在規則鏈的頭部,優先級最高(-A表明末尾),-p表明協議,-j表示後面接動做
iptables -I INPUT -p icmp -j ACCEPT #恢復容許icmp流量
iptables -P INPUT DROP #-P表明修改默認策略,禁止全部流量(默認策略只能是DROP,不能是REJECT)
iptables -I INPUT -p icmp -j ACCEPT #容許icmp,會發現又能夠ping通了
iptables -I INPUT -p tcp --dport 22 -j ACCEPT #容許使用SSH(默認端口爲22),--dport 22表明是目標的端口號22
#若是不知道對應的協議,能夠查看/etc/services文件 cat /etc/services | grep ssh #由於內容太多,可使用grep來過濾查看
iptables -F #將防火牆策略清除,由於以前將默認的策略修改成了禁止全部流量,因此SSH遠程鏈接斷開了,須要從新到本機上修改回ACCEPT service iptables save #清空後保存一下當前策略狀態 #再次鏈接,正常。
iptables -D INPUT 1 #刪除編號爲1的策略
iptables -L #刪除後再進行查看
iptables -I INPUT -s 192.168.152.129 -p icmp -j REJECT #拒絕某臺主機ping本機
二、firewall-cmd命令行
firewall-cmd --get-default-zone #正式使用時,能夠查看一下默認的區域是什麼
firewall-cmd --get-zone-of-interface=ens33 #針對網卡查看此網卡使用的區域
firewall-cmd --set-default-zone=work #修改默認區域爲work
緊急模式3d
它會切斷全部鏈接,若是遠程操做時候,須要提早將本身加入到緊急模式的白名單中
firewall-cmd --panic-on #打開緊急模式,centos 7沒法ping通了,咱們的ssh鏈接也斷開了。
firewall-cmd --panic-off #登錄實體機關閉緊急模式後,恢復正常了。
放行某一服務或端口
- ①服務
firewall-cmd --zone=public --query-service=http #查看http是否放行 firewall-cmd --zone=public --add-service=http #放行http服務,可是重啓後會失效
firewall-cmd --zone=public --query-service=http #查看當前http服務是否被放行 firewall-cmd --permanent --zone=public --query-service=http #查看重啓後http服務是否被放行 firewall-cmd --permanent --zone=public --add-service=http #經過加上--permanent參數後,當前不會生效,須要重啓或者使用--reload參數後纔會生效。
②端口
firewall-cmd --zone=public --query-port=8080/tcp #查看當前8080端口是否被放行 firewall-cmd --permanent --zone=public --add-port=8080/tcp #永久放行8080端口,當前不生效,須要重啓或者firewall-cmd --reload纔會生效
SSH默認端口號爲22,若是想訪問666端口時候也一樣可以訪問SSH服務。
步驟:
①在192.168.152.129主機使用如下命令
firewall-cmd --permanent --zone=public --add-forward-port=port=666:proto=tcp:toport=22:toaddr=192.168.152.129
須要再firewall-cmd --reload後生效
②在192.168.152.126主機使用如下命令
ssh 192.168.152.129 -p 666
經過192.168.152.126主機進行使用端口666來ssh登錄192.168.152.129,結果以下圖
在192.168.152.126主機上使用netstat -ntpe能夠查看結果以下
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.152.0/24" service name="ssh" reject" #拒絕192.168.152.0網段的ssh服務
firewall-cmd --reload #使上條命令當即生效
②在主機192.168.152.129上ssh 192.168.152.126發現沒法鏈接了。
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.152.0/24" service name="ssh" reject" #將添加富規則移除 firewall-cmd --permanent --zone=public --query-rich-rule="rule family="ipv4" source address="192.168.152.0/24" service name="ssh" reject" #查看富規則使用狀況
三、firewall-config
咱們將firewall-config中的http服務勾選後,再進行查看,仍是顯示的no,由於咱們上圖中使用的查詢命令是沒有帶參數--permanent的,可是咱們選擇的配置是permanent
須要在左上角的Options中Reload Firewalld(等同於命令行的firewall-cmd --reload),再進行查看就顯示yes了。
四、tcp_wrappers
優先級應該是最低的
先去匹配hosts.allow,再去匹配hosts.deny
若是hosts.allow中已經容許了,則會放行;若是兩個裏面都沒有,默認也是放行的。
③此時再在主機192.168.152.126的hosts.allow文件中加入sshd:192.168.152.後,從主機192.168.152.129上進行ssh 192.168.152.126發現能夠正常登錄了,以下圖。也說明了開始將的,匹配上了hosts.allow後就會放行!
④只容許某一個IP地址進行ssh登錄。