Centos升级到7以后,发现没法使用iptables控制Linuxs的端口,google以后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:
开启端口 html
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #做用域
--add-port=80/tcp #添加端口,格式为:端口/通信协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙 centos
firewall-cmd --reload
# 清空现有规则 iptables -F # 对于外网(WAN)到内网(LAN)的封包,至容许那些回应包 iptables -A FORWARD -i eth0 -o eht1 -m state --state ESTABLISHED,RELATED -j ACCEPT # 对于全部内网(LAN)到外网(WAN)的封包都予以放行 iptables -A FORWARD -i eht0 -o eth1 -j ACCEPT #启用转发日志 iptables -A FORWARD -j LOG # 启用IP假装,使得内网中全部转发出去的封包都是Linux服务器一台机子发出的 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # 启用地址转换(NAT)将内网的Web服务映射到外网的特定端口上 iptables -A PREROUTING -t nat -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:8080
详细信息能够参考如下资料:
http://stackoverflow.com/questions/24729024/centos-7-open-firewall-port
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html服务器