亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


Linux服務器中設置iptables防火墻規則?


avatar
小浪云 2024-06-30 175


對于WireGuard及用途,您需要設置和配置服務器防火墻規則。需要配置NAT(網絡地址轉換),以允許WireGuard客戶端訪問互聯網。在Linux中,我們使用一個術語叫做IP偽裝。它的意思是一對多的NAT(1:Many)。我們還需要一個forWARD鏈規則。本文介紹了如何在Linux中為WireGuard設置NAT和forWARD防火墻規則。

步驟1:設定NAT防火墻規則

語法如下:

# iptables -t nat -I POSTROUTING 1 -s {sub/net} -o {interface} -j MASQUERADE

確保所有出站數據包通過VPN編譯:

# iptables -t nat -I POSTROUTING 1 -s 10.8.1.0/24 -o eth0 -j MASQUERADE

其中

-t nat :為WireGuard設置nat表。

-I POSTROUTING 1 :在位置1插入規則,用于改變即將發出POSTROUTING鏈的數據包。

-s 10.8.1.0/24 :只有當源地址由WireGuard wg0接口創建時才進行NAT。

-o eth0:接口名稱,通過該接口將發送數據包。在這種情況下,eth0連接到Internet。

-j MASQUERADE: 告訴(跳轉)如果數據包根據給定的條件匹配,該怎么做。MASQUERADE目標只在nat表中有效,在POSTROUTING鏈中。該規則負責為所有WireGuard客戶端路由到互聯網的流量。

步驟2:接受wg0接口創建的所有流量

允許wg0接口上的所有流量: 上面的規則允許目的地為wg0的數據包。

# iptables -I INPUT 1 -i {interface} -j ACCEPT

# iptables -I INPUT 1 -i wg0 -j ACCEPT

步驟3:配置forWARD規則

我們必須通過設置forWARD規則允許數據包通過WireGuard服務器路由。語法為:

# iptables -I forWARD 1 -i eth0 -o wg0 -j ACCEPT

# iptables -I forWARD 1 -i wg0 -o eth0 -j ACCEPT

步驟4:打開WireGuard UDP端口#51194

最后,如下打開UDP端口號51194:

# iptables -I INPUT 1 -i eth0 -p udp –dport 51194 -j ACCEPT

步驟5:刪除WireGuard iptables規則的命令

我們可以通過刪除所有添加的iptabes規則來撤消所有命令,如下所示:

# iptables -t nat -D POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE

# iptables -D INPUT -i wg0 -j ACCEPT

# iptables -D forWARD -i eth0 -o wg0 -j ACCEPT

# iptables -D forWARD -i wg0 -o eth0 -j ACCEPT

# iptables -D INPUT -i eth0 -p udp –dport 51194 -j ACCEPT

步驟6:在Linux上啟用IP轉發

對于IPv4,我們將以下Linux內核變量設置為在wg0上接受傳入的網絡數據包,然后傳遞到另一個網絡接口(例如eth0),然后進行相應的轉發:

# sysctl -w net.ipv4.ip_forward=1

對于IPv6,請嘗試以下sysctl命令

# sysctl -w net.ipv6.conf.all.forwarding=1

步驟7:更新Wireguard配置文件以獲得防火墻和路由支持

我們需要告訴WireGuard命令和腳本片段,這些命令和腳本片段將通過以下兩個指令執行:

# Turn on NAT when wg0 comes up #

PostUp = /path/to/add-nat-routing.sh

# Turn of NAT when wg0 goes down #

PostDown = /path/to/remove-nat-routing.sh

放在一起:WireGuard的防火墻規則

如下更新您的/etc/wireguard/wg0.conf文件:

vim /etc/wireguard/wg0.conf

附加在[Interface]部分:

PostUp = /etc/wireguard/helper/add-nat-routing.sh

PostDown = /etc/wireguard/helper/remove-nat-routing.sh

如下圖所示:

Linux服務器中設置iptables防火墻規則?

使用mkdir命令創建一個新目錄:

# mkdir -v /etc/wireguard/helper/

包含使用cat命令顯示的add-nat-routing.sh :

# cat /etc/wireguard/helper/add-nat-routing.sh

Linux服務器中設置iptables防火墻規則?

和:

# cat /etc/wireguard/helper/remove-nat-routing.sh

Linux服務器中設置iptables防火墻規則?

確保也使用文本編輯器創建以下文件:

# vim /etc/sysctl.d/10-wireguard.conf

添加以下文本:

net.ipv4.ip_forward = 1

net.ipv6.conf.all.forwarding = 1

重新加載所有更改并打開NAT路由:

# sysctl -p /etc/sysctl.d/10-wireguard.conf

# chmod -v +x /etc/wireguard/helper/*.sh

# systemctl restart wg-quick@wg0.service

驗證

從客戶端測試您的配置。查看是否可以使用ping命令,dig命令 / host命令和Web瀏覽器訪問Internet 。

總結

在本文中,我們向您展示了如何在Linux中為WireGuard VPN客戶端啟用IP轉發和NAT規則,以為內部客戶端提供Internet訪問。

相關閱讀