| 廣告聯系 | 簡體版 | 手機版 | 微信 | 微博 | 搜索:
歡迎您 游客 | 登錄 | 免費注冊 | 忘記了密碼 | 社交賬號注冊或登錄

首頁

新聞資訊

論壇

溫哥華地產

大溫餐館點評

溫哥華汽車

溫哥華教育

黃頁/二手

旅游
搜索:  

 論壇通告:  轉載新聞請務必注明出處,這些媒體請不要轉,謝謝   請不要上傳第三方有版權的照片,請尊重版權,謝謝   批評商家需要注意  
 個人空間: XY | 我大爺 | 白龍王許道長 | 亂想 | 羅蓬特機器人 | 血流成河 | 忽然聽到一個墨西哥女仔唱。呐呐呐呐呐呢呐 | 我在溫哥華 | 客觀中立而實事求是,唯服理據而杜絕辱罵 | 快樂的獅子 | 國際貨運海運(家具設備食品材料貨品) | 顧曉軍 | nessus | 我的退休生活 | 星空 | 大溫房產和地產研究 | 花隨風 | 湖裡湖塗 | 呂洪來的個人空間 | 滄海一聲笑
 最新求助: 請問誰知道哪裡有賣理發的電動推子?   忽然有個疑問:戰爭時期,加拿大拿PR卡未入籍的永久居民會被強制服兵役嗎?   這個銀條   如何修改會員名?
 論壇轉跳:
     發帖回帖獲取加西鎊, 兌換精彩禮物

論壇首頁 -> 電子電玩

firewalld 定義策略 (發表於7年前)



回復主題  圖片幻燈展示  增添帖子到書簽中  給帖子中的發貼者批量贈送獻花或者花籃    |##| -> |=|        發表新主題
閱讀上一個主題 :: 閱讀下一個主題  
作者 正文
愛爾維修
(只看此人)




文章 時間: 2017-3-15 22:06 引用回復
在 CentOS 6 防火牆 iptables 是以 Rules 寫在 Chain 建立規則然後給 kernel 去執行,每次重建規則必須先清除原有規則,這會導致既有連線中斷。
到 CentOS 7 之後改用 firewalld 以 zone 的區域分割觀念來建立,並以動態設定方式執行避免中斷的問題。
請注意:不能同時執行 iptables 跟 firewalld 這會造成沖突錯誤。

Firewalld 相關路徑
/etc/firewalld:設定檔路徑
/usr/bin/:firewall-cmd 指令所在的位置
/usr/lib/firewalld/:firewalld 預設的設定資料 (xml 格式),例如 nfs.xml 就定義了 <port protocol="tcp" port="2049"/>

--------------------------------------------------------------------------------

所謂的 zone 就表示主機位於何種環境,需要設定哪些規則,在 firewalld 裡共有 7 個zones
> 先決定主機要設定在那個區域 zone >> 再往該 zone 設定規則 >>> 重新讀取設定檔 sudo firewall-cmd --reload

public: 公開的場所,不信任網域內所有連線,只有被允許的連線才能進入,一般只要設定這裡就可以了
For use in public areas. You do not trust the other computers on the network to not harm your computer. Only selected incoming connections are accepted.
external: 公開的場所,應用在IP是NAT的網路
For use on external networks with masquerading enabled especially for routers. You do not trust the other computers on the network to not harm your computer. Only selected incoming connections are accepted.
dmz: (Demilitarized Zone) 非軍事區,允許對外連線,內部網路只有允許的才可以連線進來
For computers in your demilitarized zone that are publicly-accessible with limited access to your internal network. Only selected incoming connections are accepted.
work: 公司、工作的環境
For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
home: 家庭環境
For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
internal: 內部網路,應用在NAT設定時的對內網路
For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.
trusted: 接受所有的連線
All network connections are accepted.
drop: 任何進入的封包全部丟棄,只有往外的連線是允許的
Any incoming network packets are dropped, there is no reply. Only outgoing network connections are possible.
block: 任何進入的封包全部拒絕,並以 icmp 回覆對方 ,只有往外的連線是允許的
Any incoming network connections are rejected with an icmp-host-prohibited message for IPv4 and icmp6-adm-prohibited for IPv6. Only network connections initiated from within the system are possible.

-------------------------------------------------------------------------------

預設主機是被放在 public zone 區域,並有開啟兩個服務 dhcpv6-client ssh
> 在這樣的設定下,任何來源都可以透過 ssh 服務來連接到本主機,但其他的服務 service-port 都是關閉的。
★★★ 顯示目前的設定 ★★★
# firewall-cmd --list-all
public (default, active)
interfaces: ens160
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

若你的環境沒在用 DHCP ,則可以將他關掉 DHCP 服務 port
★★★ 關掉 DHCP 服務 port ★★★
# sudo firewall-cmd --zone=public --remove-service dhcpv6-client

暫時允許外部連接本機 DNS 服務
★★★ 暫時開啟 DNS port 53 ★★★
# sudo systemctl start named
# sudo systemctl enable named
# sudo firewall-cmd --add-service=dns
# sudo firewall-cmd --reload
# firewall-cmd --list-all
public (default, active)
interfaces: ens160
sources:
services: dhcpv6-client dns ssh
ports: (略)

★★★ 永久開啟 DNS port 53 ★★★
# sudo firewall-cmd --add-service=dns --permanent
# sudo firewall-cmd --reload



QQ:為何可以直接指定加入的服務名稱為dns 呢?
Ans:他會參考 /usr/lib/firewalld/services/ 下的服務,例如 dns.xml ,啟用本服務就會連帶的開啟 TCP 跟 UDP 的 port 53
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>DNS</short>
<description>The Domain Name System (DNS) is used to provide and request host and domain names. Enable this option, if you plan
to provide a domain name service (e.g. with bind).</description>
<port protocol="tcp" port="53"/>
<port protocol="udp" port="53"/>
</service>


總共有這些服務 ls /usr/lib/firewalld/services/
amanda-client.xml high-availability.xml kpasswd.xml mysql.xml pop3s.xml smtp.xml
bacula-client.xml https.xml ldaps.xml nfs.xml postgresql.xml ssh.xml
bacula.xml http.xml ldap.xml ntp.xml proxy-dhcp.xml telnet.xml
dhcpv6-client.xml imaps.xml libvirt-tls.xml openvpn.xml radius.xml tftp-client.xml
dhcpv6.xml ipp-client.xml libvirt.xml pmcd.xml RH-Satellite-6.xml tftp.xml
dhcp.xml ipp.xml mdns.xml pmproxy.xml rpc-bind.xml transmission-client.xml
dns.xml ipsec.xml mountd.xml pmwebapis.xml samba-client.xml vnc-server.xml
ftp.xml kerberos.xml ms-wbt.xml pmwebapi.xml samba.xml wbem-https.xml



★★★ 如何修改主機的預設 zone ★★★
前面說過預設為 public zone ,但有些主機服務是要建立在 DMZ 下,我們可以透過修改 /etc/firewalld/firewalld.conf 來將預設的區域改為 dmz
# sudo vi /etc/firewalld/firewalld.conf
> 修改 DefaultZone=public
> 變成 DefaultZone=dmz
然後重新載入
# sudo firewall-cmd --reload



★★★ 加入自行指定的連接端口 ★★★
# sudo firewall-cmd --add-port=8080/tcp --permanent
success
# sudo firewall-cmd --reload
success
# sudo firewall-cmd --list-all
public (default, active)
interfaces: ens160
sources:
services: dhcpv6-client dns ssh
ports: 8080/tcp
masquerade: no



QQ:為何我設定暫時的 rules 都無效呢?
ANS:假設你臨時要開放 port 8888,執行
# sudo firewall-cmd --add-port=8888/tcp
# sudo firewall-cmd --reload
# sudo firewall-cmd --list-all

卻發現 --list-all 的結果都沒將 port:8888 這 rule 給加入,這是因為你在第二步驟時做了 reload ,不是設定沒用而是被你的 reload 給清除了,所以臨時性的只要
# sudo firewall-cmd --add-port=8888/tcp
# sudo firewall-cmd --list-all

查看永久的設定
# firewall-cmd --list-all --permanent



★★★ 修改服務的預設連接端口 ★★★
假設你的主機為 web /www ,默認port 80 但有時候某些網站就不是使用 80 port ,這時候該如何修改呢?
Step 1:先復制對應的 xml 檔到 /etc/firewalld/services
# sudo cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services
Step 2:修改 http.xml
# sudo vi /etc/firewalld/services/http.xml
Step 3:修改對應連接端口
<port protocol="tcp" port="80"/>
改為
<port protocol="tcp" port="8080"/>
Step 4:重新載入
# sudo firewall-cmd --reload



★★★ 限制某服務只能從哪IP連入 ★★★
通常我們會限制 ssh 只能從某些IP來進來,我們可以使用 rich-rule 來加入
# sudo firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.88" service name="ssh" accept"
或 ip subnet
# sudo firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept"



★★★ 限制某 port 只能從哪IP連入 ★★★
# sudo firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.12.9" port port="8080" protocol="tcp" accept"
注意:port port="8080" 不是寫錯!這是他的格式



★★★ 直接指定 rule 到 INPUT chain★★★
# sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp -s "192.168.12.9" --dport 22 -j ACCEPT
這樣的寫法使用 # firewall-cmd --list-all 是看不到的,要用 iptables -L -n



★★★ 查看預設載入的 rule ★★★
所有的 zone 設定檔會放在 /etc/firewalld/zones 跟 /usr/lib/firewalld/zones/ ,
你所執行的 --permanent 參數會寫在 /etc/firewalld/zones 對應的 zone 文件內(例:public.xml),所以當你
# sudo firewall-cmd --add-service=dns --permanent
就會在 /etc/firewalld/zones/public.xml 變成 多了 <service name="dns"/>
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="dhcpv6-client"/>
<service name="ssh"/>
<service name="dns"/>
<port protocol="tcp" port="8080"/>
</zone>



★★★ 從 /etc/sysconfig/iptables 轉為 firewalld 的 direct ★★★

假設你原有的 /etc/sysconfig/iptables 有規則
-A INPUT -s 140.113.12.9 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp -s 140.113.0.0/16 --dport 123 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 140.114.88.0/24 --dport 161 -j ACCEPT
要轉換到 firewalld 的 direct 規則
新增 /etc/firewalld/direct.xml ,如果你之前有執行過 #sudo firewall-cmd --permanent --direct .... 則自動的產生

新增/修改 direct.xml 增加對應上面的 rules
# sudo vi /etc/firewalld/direct.xml
<?xml version="1.0" encoding="utf-8"?>
<direct>
<rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-p tcp -s 192.168.12.9 --dport 22 -j ACCEPT</rule>
<rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-s 140.113.12.9 -j ACCEPT</rule>
<rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-p udp -s 140.113.0.0/16 --dport 123 -j ACCEPT</rule>
<rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-p tcp -s 140.114.88.0/24 --dport 161 -j ACCEPT</rule>
</direct>

★★★ 從 zone 移除某項服務 ★★★
# sudo firewall-cmd --zone=public --add-service=http --permanent
# sudo firewall-cmd --zone=public --remove-service=http --permanent

# sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
# sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent



★★★ port forward 將從某 port number 的封包轉送另外的 port 或其他主機 ★★★
# 將 80 port 轉往 port 8080
# sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080

# 將 80 port 轉往其他台主機的 port 8080
# sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=140.113.1.1


參考:
Reference:
access.redhat.com/docu...walls.html

www.linode.com/docs/se...-on-centos

本文出自 “Jevic” 博客,請務必保留此出處http://jevic.blog.51cto.com/2183736/1842597
 
花籃
分享
_________________
你要買房? 你想房價跌? NDP! 耶~~
樓主 | 電梯直達
閱讀會員資料 發送站內短信 主題 User photo gallery 禮物  
 
回復主題     |##| -> |=|     論壇首頁 -> 電子電玩 所有的時間均為 美國太平洋時間
1頁,共1


注:
  • 以上論壇所有發言僅代表發帖者個人觀點, 並不代表本站觀點或立場, 加西網對此不負任何責任。
  • 投資理財及買房賣房版面的帖子不構成投資建議。投資有風險,責任請自負
  • 對二手買賣中的虛假信息,買賣中的糾紛等均與本站無關。
  • 黃頁熱門商家 免費個人廣告
    發布商業廣告

    不能在本論壇發表新主題
    不能在本論壇回復主題
    不能在本論壇編輯自己的文章
    不能在本論壇刪除自己的文章
    不能在本論壇發表投票
    不能在這個論壇添加附件
    可以在這個論壇下載文件

    論壇轉跳: 

    愛爾維修
    潛力帖子 精華帖子 熱門帖子
    多房暴負:素裡鎮屋賠好慘
    有小溪的大地舊屋為啥便宜?
    要相信常識
    為什麼中國歷史不斷輪回
    為什麼加拿大有這麼多的老鼠
    美國參議院迅速表決
    不道德 數千人要求BC醫院免費停車
    終於把稅給報了
    2024APR23 不報不知道,一報嚇一跳
    布林肯赴京,告訴習近平,如果你再...
    房子保險費又是大漲 到2100多
    上班族太慘了
    感覺加西網論壇已經進入垃圾時間
    今年驗血報告出爐
    tiktok要被禁止了
    The Value of Money
    再去chief peak
    這些是不是真貨?
    同號雷達鈔
    今天包粽子 兼和粉紅吵架
    熱烈恭賀錢幣小站新任版主四季豆同學
    北溫換硬幣活動取消
    加拿大唯一無國籍的硬幣
    每周版主推薦,美女精選(二七二)
    美國印第安人1元卷今日發貨
    每周版主推薦,美女精選(二七一)
    電視劇繁花觀後感之阿寶到底喜歡哪...
    每周版主推薦,美女精選(二七零)
    2024 雪中即景
    每周版主推薦,美女精選(二六九)
    在北美得了大病真是只能等死了
    國內最驕傲的兩件事外賣和快遞
    烏克蘭已經花掉了美國七百多億美元
    大家如何看待北京同仁堂汞超標5萬倍...
    身在海外,痛罵國內人不反抗挺壞的
    95個小時,這是看急診嗎
    疫情4年後,海外華人去中國的觀感
    在加做房東有罪嗎?
    坎昆比夏威夷好玩
    中國沒有恐襲
    BC省長宣布:BC將實行永久夏令時 但...
    臥槽 太貴了
    你們回國有很安全的感覺嗎
    除了中國,還有第二個國家買火車票...
    請問為啥Tylor Swift這麼火啊?

    最新新聞 熱門新聞 熱評新聞
    大批警察出動鎮壓 德州大學至少20人被抓(圖)
    大赦國際:歐洲在人權問題上大搞雙重標准(圖)
    “曾經做賣房中介年入百萬,如今我只能轉行算卦”(圖)
    失去兒子近一年:8歲男童遭武術教練傷害死亡始末(圖)
    美國員工控訴台積電 是地球上最爛的工作場所(圖)
    未婚未育的90後,開始搶著當月嫂 .....(圖)
    先漲價再降價,特斯拉“打臉”只用20天?(圖)
    資訊爆炸時代下,我們只剩“黃色新聞”可看了嗎?(圖)
    美調查中國造船業不公平行為,爭端或進一步升級(圖)
    買房"以舊換新"的風吹到一線:深圳有盤成交破億(圖)
    拜登又出糗!競選演說「念出讀稿機指令」(圖)
    妻子涉腐敗遭調查,西班牙首相考慮辭職(圖)
    女子出門打工3娃被鎖家中 地上全是排泄物(圖)
    中國留學生騷擾“民運”女子 被判刑9個月(圖)
    蔡依林恩師遭控強摸模特兒下體(圖)
    暴力撬門盜竊 溫村華裔一家很不安
    一碗湯 23歲的美女24小時就癱瘓
    道德敗壞 家風不正 中國銀行前董事長當庭認罪(圖)
    驚傳遼寧街頭男子持刀砍人 砍了三條街 多人死傷(圖)
    LA警察被當街槍殺 警方追捕時發現嫌犯已在監獄
    拜登簽字立法"不賣就禁" TikTok CEO:我們不離開(圖)
    震驚:長沙14歲女生遭霸凌,被迫割喉求生(圖)
    布林肯到上海豫園吃南翔小籠包 或見習為拜登鋪路(圖)
    證實在華大裁員 華為“最大對手”日子不好過(圖)
    不道德 數千人要求BC醫院免費停車
    “哈命貴”占領美國大學 死給你看
    溫村98年老宅以高於要價90萬售出
    6月份降息?加國央行內部有分歧
    太誇張 房東試圖出租床的一半被批
    華為這是什麼意思? 居然新手機功能能脫女生衣服(圖)
    不道德 數千人要求BC醫院免費停車
    這免費節日下周帶來台灣街頭美食
    6月份降息?加國央行內部有分歧
    慘 昨晚白石海灘被刺死的死者是他
    特魯多官宣發錢,民眾卻心碎失望
    飄忽不定、服務政治 中國統計的法律與兒戲
    省府公布20建房達標市 市長們怒懟
    看看上海窮人的“幸福之家”(圖)
    中國欲反擊美制裁 但不得不克制…
    列治文商場特斯拉著火 到底咋回事
    美大學為何充斥反猶?TikTok操縱
    4年未漲租 大溫房客被趕污告房東
    大赦國際:歐洲在人權問題上大搞雙重標准(圖)
    美調查中國造船業不公平行為,爭端或進一步升級(圖)
    房壞到不能出租?房東要求巨額賠償

    更多方式閱讀論壇:

    Android: 加西網
    [下載]

    Android: 溫哥華論壇
    [下載]

    PDA版本: 論壇

    加西網微信

    加西網微博


    Powered by phpBB 2.0.8
    Terms & Conditions    Privacy Policy    Political ADs    Activities Agreement    Contact Us    Sitemap    

    加西網為北美中文網傳媒集團旗下網站

    頁面生成: 0.0511 秒 and 5 DB Queries in 0.0013 秒