跳到主要内容

3.1.1、点对网

重要

你要确定你知道你在搞什么,如果只是简单的P2P通信,上面的内容已经够了,以下的东西不要看,不要看,不要看

1、情况1,你的设备支持NAT转发时
  1. linux,已经自动添加NAT转发
  2. windows,暂时找到两种NAT方式
    1. NetNat,请参照 3.1.1.1、NetNat
    2. RRAS,请参照3.1.1.2、RRAS(Routing and Remote Access Service)
  3. macos,需要你自己在被访问端添加NAT转发
# 开启ip转发
sudo sysctl -w net.ipv4.ip_forward=1
# 配置NAT转发规则
# 在/etc/pf.conf文件中添加以下规则,en0是出口网卡,192.168.54.0/24是来源网段
nat on en0 from 192.168.54.0/24 to any -> (en0)
# 加载规则
sudo pfctl -f /etc/pf.conf -e

我这里,B端的局域网IP是 192.168.1.35

Docusaurus Plushie Docusaurus Plushie

尝试连接 对方的局域网IP,或者局域网内其它设备(记得关闭防火墙,或者防火墙添加一条规则,允许ICMP通过)

Docusaurus Plushie

2、情况2,你的设备无法使用NAT转发时
  1. 你的设备无法使用NAT转发(一般出现在低版本windows下,win10以下),那你只能使用端口转发功能来访问你当前设备局域网下的其它设备
  2. 按如下配置。当其它设备通过192.168.54.2:12345 访问时,将访问到你的局域网的192.168.1.35:3389
  3. macos下需要你自己在被访问端添加端口转发
//编辑 pf 配置文件
sudo nano /etc/pf.conf

//添加转发规则
rdr pass on en0 inet proto tcp from any to any port 33890 -> 127.0.0.1 port 3389
rdr pass on en0 inet proto udp from any to any port 33890 -> 127.0.0.1 port 3389

//启用并重新加载 pf
sudo pfctl -f /etc/pf.conf
sudo pfctl -e

Docusaurus Plushie