Martin.xu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关闭selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0

开放服务

暂时开放 ftp 服务
# firewall-cmd --add-service=ftp

永久开放 ftp 服务
# firewall-cmd --add-service=ftp --permanent

永久关闭
# firewall-cmd --remove-service=ftp --permanent
success

让设定生效
# firewall-cmd --reload

检查设定是否生效
# iptables -L -n | grep 21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21 ctstate NEW

检查防火墙状态
# firewall-cmd --state
running
查询服务清单
# firewall-cmd --get-service
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
查询服务的启用状态
# firewall-cmd --query-service ftp
yes
# firewall-cmd --query-service ssh
yes
# firewall-cmd --query-service samba
no
# firewall-cmd --query-service http
no
加入要永久开放的 Port
firewall-cmd --add-port=3128/tcp --permanent
firewall-cmd --list-all
开放地址段
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -s 192.168.100.1/24 -j ACCEPT
开启系统路由转发功能
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0

启用NAT

firewall-cmd --permanent --direct --passthrough ipv4  -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 106.3.226.201
重启防火墙
firewall-cmd --reload

查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

firewall-cmd --state
屏蔽指定IP访问:
#屏蔽
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="120.132.126.133" drop'

#取消屏蔽 firewall
-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="120.132.126.133" drop'

设置默认区域:
firewall-cmd --set-default-zone=

firewall-cmd --set-default-zone=trusted

流入默认区域中配置的接口的新访问请求将被置入新的默认区域。当前活动的连接将不受影响。

 

防火墙预定义的服务配置文件是xml文件 目录在 /usr/lib/firewalld/services/

在 /etc/firewalld/services/ 这个目录中也有配置文件    但是/etc/firewalld/services/目录 优先于 /usr/lib/firewalld/services/  目录

启用某个服务

# firewall-cmd --zone=public --add-service=https   //临时
# firewall-cmd --permanent --zone=public --add-service=https  //永久

开启某个端口

#firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp  //永久
#firewall-cmd  --zone=public --add-port=8080-8081/tcp   //临时

使用命令加载设置

#firewall-cmd --reload

查看开启的端口和服务

#firewall-cmd --permanent --zone=public --list-services    //服务空格隔开  例如 dhcpv6-client https ss
#firewall-cmd --permanent --zone=public --list-ports //端口空格隔开  例如  8080-8081/tcp 8388/tcp 80/tcp

在每次修改 端口和服务后  /etc/firewalld/zones/public.xml  文件就会被修改   所以也可以在文件中之间修改  然后重新加载

设置某个ip 访问某个服务

#firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"

ip 192.168.0.4/24 访问 http

设置后 public.xml 就会出现变化

 删除上面设置的规则

#firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4"  source address="192.168.0.4/24" service name="http" accept"

 

#systemctl start firewalld.service  //开启服务
#systemctl enable firewalld.service //开机制动启动
#systemctl stop firewalld.service  //关闭服务
#systemctl disable firewalld.service //禁止开机启动

 

 


 

posted on 2017-03-16 16:29  Martin.xu  阅读(290)  评论(0编辑  收藏  举报