我有一段时间有一个脚本可以通过我的 Wireguard VPN 转发端口。最近,我尝试使用它,它返回:
Bad argument `wg0'
Try `iptables -h' or 'iptables --help' for more information.
这是我的脚本:
#!/usr/bin/env bash
# Usage: ./wireguard_port_forward.sh <client IP> <server IP> <port> <interface>
# Example: ./wireguard_port_forward.sh 10.0.0.2 10.0.0.1 8080 ens3
# Script must be run as root
CLIENT=$1
SERVER=$2
PORT=$3
INTERFACE=$4
iptables -A FORWARD -i $INTERFACE -o wg0 -p tcp --syn --dport $PORT -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i $INTERFACE -o wg0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wg0 -o $INTERFACE -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -i $INTERFACE -p tcp --dport "$PORT" -j DNAT --to-destination "$CLIENT"
iptables -t nat -A POSTROUTING -o wg0 -p tcp --dport "$PORT" -d "$CLIENT" -j SNAT --to-source "$SERVER"
netfilter-persistent save
论证被删除了吗-o
?我对 iptables 不太熟悉,并且不想因为过多的摆弄而弄乱我的防火墙规则。