因此,我有一个连接到家庭网络的 Ubuntu Server 18.04,但使用 VPN。为了阻止互联网访问,我阻止了 UFW 的所有连接,如下所示:- 首先禁用所有 IPv6 连接 - 然后我像这样设置 UFW
#Whitelist Local Area Network
sudo ufw allow in to 192.168.1.0/24
sudo ufw allow out to 192.168.1.0/24
#Block All Incoming and Outgoing Traffic by Default
sudo ufw default deny outgoing
sudo ufw default deny incoming
#Whitelist VPN Port for VPN Establishment
sudo ufw allow out to any port 1194 proto udp
#Whitelist VPN Tunnel
sudo ufw allow out on tun0 from any to any
sudo ufw allow in on tun0 from any to any
好了,现在我有了家用路由器,其 IP 为 1.1.1.1,设置了免费的 no-ip ddns,并将端口 80 转发到 ubuntu-server 端口 180(因此我可以保持 80 关闭)。在 UFW 上,我想启用此端口的进出流量,我的网站托管在此端口(它只是一个简单的静态 html,用于测试)。因此我设置了防火墙:
sudo ufw allow in 180/tcp
sudp ufw allow out 180/tcp
NGINX 配置如下(我认为这部分没问题,因为如果我 curl 192.168.1.X:180,我会得到我的 main.html。对于端口 80 也是如此,得到 NGINX 默认页面):
server {
listen 180;
server_name myhomerouter.ddns.net;
root /home/user/site;
index main.html;
}
UFW 状态显示:
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 192.168.1.0/24 ALLOW IN Anywhere
[ 3] 192.168.1.0/24 ALLOW OUT Anywhere (out)
[ 4] 1194/udp ALLOW OUT Anywhere (out)
[ 5] Anywhere ALLOW OUT Anywhere on tun0 (out)
[ 6] Anywhere on tun0 ALLOW IN Anywhere
[ 7] plexmediaserver-all ALLOW IN Anywhere
[ 8] 180/tcp ALLOW IN Anywhere
[ 9] 180/tcp ALLOW OUT Anywhere (out)
我无法通过 telnet 或浏览器连接到路由器端口 80
我在这里遗漏了什么?
谢谢你!
编辑:
将路由器端口改为 8000。如果 VPN 关闭,则可以使用,但如果 VPN 打开,则无法连接
编辑2: 设法跟踪 enp0s25 上的流量,得到以下信息:
13:02:41.678433 IP myrouterip.ISPSTUF.52975 > ubuntuserver.lan.180:Flags [S], seq 3926683823, win 65535, options [mss1460,sackOK,eol], length 0
发了一堆包裹,但没有长度