一、直接修改配置文件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登录。