Centos7開放端口
Centos升級到7之后,發現無法使用iptables控制Linuxs的端口,google之后發現Centos 7使用firewalld代替了原來的iptables。下面記錄如何使用firewalld開放Linux端口:
開啟端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:
--zone #作用域
--add-port=80/tcp #添加端口,格式為:端口/通訊協議
--permanent #永久生效,沒有此參數重啟后失效
重啟防火牆
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
