总所周知,Apple 从 10.7 Server 开始删除了 NAT 共享功能,将网络共享功能移回系统共享设置,虽然可以共享 Intelnet , 但是却不能设置 DHCP 分配,这样一来,就给很多使用 VPN 共享的公司造成困扰,造成客户端 IP 地址混乱无法管理,基于这一问题,我找到了新的解决方案,现在共享出来,供广大 Server Admin 参考。
首先,我在官方网站 Support 页面找到了一个关于 NAT 服务的说明,详情点击此处,在这份说明中指出,新的 NAT 服务由 natpmpd,其配置命令为 pfctl,通过 man pfctl 命令查看,找到了其中的究竟,原理这里就不废话了,说说操作的过程。
首先,设定一个 NAT 共享场景,假定 Server 通过以太网1(en0)接入 Intelnet,并且拨接了 VPN 服务(ppp0),现在需要把 VPN 通过以太网2(en1,提供 10.0.0.0/24 网段 DHCP)共享给全公司所有终端设备使用,操作步骤如下:
1、首先编辑 pfctl 配置文件如下:
$ sudo vi /etc/pf.conf
内容如下
scrub on ppp0 reassemble tcp no-df random-id nat on ppp0 from 10.0.0.0/24 to any -> ppp0
写好以后保存,这个配置文件是关键,第一句是保证 TCP 在 NAT 下也能使用,第二句是指 ppp0 (VPN)上的所有内容转发到 10.0.0.0/24 网段。
2、再写一个运行命令文件:
$ vi ~/Desktop/nat.sh
内容如下:
sysctl -w net.inet.ip.forwarding=1 pfctl -e -f /etc/pf.conf
3、配置 Server DHCP,如下图配置:
现在一切都配置好了,在终端中运行刚才写好的运行文件,就可以了:
$ sudo ~/Desktop/nat.sh
把你的终端设备连上去,就可以用啦。
如果终端设备分配不到 IP,检查你的 DHCP 设置,如果终端设备分配到 IP,检查你的 pfctl 配置文件中端口和网段是否正确。
Comment