pfsense設定port forward
以smtp為例子
- Firewall->NAT , 點選Add (有分優先順序)

- 設定Interface, Protocol , Destination port range , Redircet target IP , 與 Redirect target port
這樣儲存就生效了, 記得被forward ip 的gateway也要設定pfsense ip 否則無法成功

以smtp為例子
CentOS 7安裝docker之後, 要確認防火牆是否阻擋不需要對外的container
iptables -I DOCKER 1 -i <對外網卡介面名稱> -p tcp --dport <埠號碼> -j DROP
# example
# iptables -I DOCKER 1 -i ens19 -p tcp --dport 4822 -j DROP
之前一直以為firewall-cmd 預設都會擋下來, 沒想到docker安裝後,container 似乎都開放了, 沒想到藏在iptables 裡面, 看起來還是要小心為妙
美國國家標準暨技術研究院(NIST), 於2020年8月發表零信任 (SP 800-207) 指導書 , 火速被各大軟體服務商奉為聖旨,
並不是對你沒有信任的意思, 而是任何人做任何事都必須一視同仁, 詳加盤查, 才能信任.
以防火牆來說, 牆內安全, 牆外不安全, 這是以前的思維;
未來上雲端後, 將打破防火牆概念, 任何動作都必須再次檢驗才能過關.
一般公司省錢的作法, 就是一台linux主機 , 充當上網(nat) 分享器,
但後來該主機又搞了docker .
可是docker 預設網路(iptables) 都開放, 很麻煩, 造成原本firewall-cmd出問題, 無法限制內部ip上網, 所有ip都能上網, 超麻煩的,
後來發現iptables也能運作, 於是就搭配 iptables 限制內部ip上網
iptables -I FORWARD 1 -s 192.10.20.0/24 -j DROP # 限制全部內網ip透過nat上網 iptables -I FORWARD 1 -s 192.10.20.101/32 -j ACCEPT # 讓101能上網
例如 docker 安裝 mariadb service , 要記得不要開放到internet
iptables -I DOCKER 1 -i <對外網卡代號> -p tcp --dport 3306 -j DROP
1.下載 pfsense 軟體防火牆套件 https://www.pfsense.org/ 2.安裝pfsense(server端)(假設內部網段是10.192.130.0/24) 至少要有兩個網卡,一個要有固定ip, 另一個是內部網路(假設是10.192.130.212) 2.1 安裝很簡單, 重點在於搞定兩個網卡ip,搞定後就能用使用瀏覽器,經由內部網路ip, 連上pfsense 2.2 連上pfsense後, 取消硬體checksum System->Advanced->Networking Hardware Checksum offloading選項打勾(這部分我浪費三天三夜, 若沒打勾會嚴重影響效能) 2.3 連上pfsense後, 啟用CPU硬體加密功能 System->Advanced->Miscellaneous Cryptographic Hardware 選擇AES-NI CPU-based Acceleration 這部分比較特別,若pfsense裝在promox ve上, vm要記得開啟AES-NI功能, esxi好像預設就開啟 ps. 這時候建議pfsense重開一下 2.4 安裝openvpn(server) VPN->OpenVPN->Servers 新增OpenVPN Servers , 需要輸入的地方如下,其他都是預設 (1) Server Mode 選 Peer to Peer(Shared Key) (2) local port 預設是1194請改成其他減少被擋或被駭的機率 (3) Hardware Crypto 任選一種硬體加密(若可以選的話) (4) IPv4 Tunnel Network 輸入172.26.0.0/24 (5) IPv4 Remote network(s) 輸入client端的內部網路 , 如192.1.0.0/24 (6) Save (7) 重新看剛剛的設定,複製preshared key(Save之後才會產生),要複製到pfsense client端使用 2.5 Firewall -> Rules 到 WAN 新增 any source 的規則, 到OpenVPN 也新增 any source的規則 3.安裝pfsense(client端)(假設內部網段是192.1.0.0/24) 至少要有兩個網卡,兩個都是內部網路,同網段也ok 3.1 安裝很簡單, 重點在於搞定兩個網卡ip,這兩個網卡ip可以同一個網段, 一個當WAN,一個當LAN(假設是192.1.0.3). 搞定後就能用使用瀏覽器,經由內部網路ip, 連上pfsense 3.2 同步驟2.2 3.3 同步驟3.2 ps. 這時候建議pfsense重開一下 3.4 安裝openvpn(client) VPN->OpenVPN->Clients 新增OpenVPN Clients , 需要輸入的地方如下,其他都是預設 (1) Server Mode 選 Peer to Peer(Shared Key) (2) Interface 選 any (3) Server host or address 輸入server端對外的ip (4) server port 輸入server端設定port (5) Shared Key 請輸入server端複製的Shared Key (6) Hardware Crypto 任選一種硬體加密(若可以選的話) (7) IPv4 Tunnel Network 輸入172.26.0.0/24 (8) IPv4 Remote network(s) 輸入server端內部網路 , 如10.192.130.0/24 (6) Save 3.5 Firewall -> Rules 到 WAN 新增 any source 的規則, 到OpenVPN 也新增 any source的規則 4.Status->OpenVPN 查看能不能連線成功 5.pfsense(server) 新增路由,假設server所在內部網路gateway是10.192.130.1 請在該gateway上新增目的地192.1.0.0/24,要經由10.192.130.212出去(依照以上例子) 6.pfsense(client) 新增路由,假設client所在內部網路gateway是192.1.0.1 請在該gateway上新增目的地10.192.130.0/24,要經由192.1.0.3(依照以上例子) — Pfsense 2.4.5 William 20200422
安裝v2ray之前,你必須符合以下基本技術基礎
你也必須準備以下軟硬體
開始安裝
1. 安裝v2ray
到這個神人網站 https://github.com/sprov065/v2-ui/
一鍵安裝
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
2. 安裝完畢網站預設是 http://ip:65432 預設帳號密碼都是admin , 記得登入修改密碼
3. 以下示範兩種連線, 一種http/2(h2), 另一種透過apache httpd(port 443)代理連到後端websocket
3.1 設定 h2 連線
Server:
client:
v2ray初體驗-使用v2-ui初階安裝
3.2
Server 設定:
Clinet 設定:
websocket , port 用443, 要輸入tls
apache httpd 設定:
ServerName xxx
ErrorLog /var/log/httpd/ssl_error_log1
TransferLog /var/log/httpd/ssl_access_log1
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/letsencrypt/live/xxx/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxx/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/xxx/fullchain.pem
## v2-ui management
RewriteEngine On
ProxyPass / http://localhost:65432/
ProxyPassReverse / http://localhost:65432/
## server
RewriteRule /ray/(.*) ws://localhost:1234/$1 [P,L]
RewriteCond %{HTTP:Upgrade} =websocket [NC]
ProxyPass /ray/ http://localhost:1234/
ProxyPassReverse /ray/ http://localhost:1234/
4. 心得
若是使用3.1 , 使用httpd/2的方式
若是使用3.2可以看起來像是https的存取
5. 額外指令
v2-ui - 显示管理菜单 (功能更多) v2-ui start - 启动 v2-ui 面板 v2-ui stop - 停止 v2-ui 面板 v2-ui restart - 重启 v2-ui 面板 v2-ui status - 查看 v2-ui 状态 v2-ui enable - 设置 v2-ui 开机自启 v2-ui disable - 取消 v2-ui 开机自启 v2-ui log - 查看 v2-ui 日志 v2-ui update - 更新 v2-ui 面板 v2-ui install - 安装 v2-ui 面板 v2-ui uninstall - 卸载 v2-ui 面板
最近出了一次差,才發現翻牆其實很重要, 但是我自己個人翻牆簡單,別人卻很難, 只好想辦法改造小米路由器(mini),讓夥伴都能一起科技翻牆.
本文只列出重要步驟:
firewall-cmd 是新版的防火牆指令,CentOS 7版也開始使用
那如何在新增NAT功能呢? 只要加上一行指令就好了
firewall-cmd --permanent --zone=public --add-masquerade