PPP服务器需要在Linux环境(如Debian、Ubuntu、TinyCore)中运行。推荐在单独的TinyCore Linux虚拟机上部署PPP服务器。
!!!严禁将PPP服务器部署到生产环境或含有敏感数据的环境!!!
TinyCore Linux中,任何文件修改后都需要执行sudo filetool.sh -b命令保存修改,否则重启后修改会丢失!!!
安装所需软件包
tce-load -wi pppd socat iptables dnsmasq
在/opt/.filetool.lst中添加以下路径:
etc/ppp
usr/local/etc/ppp
etc/dnsmasq.conf
新建或覆盖/etc/ppp/options,内容如下:
require-chap
nodefaultroute
mtu 576
nodetach
proxyarp
lock
ms-dns 10.0.2.15
10.0.2.15:
新建或覆盖/etc/ppp/chap-secrets,内容如下:
ppp * ppp 192.168.7.1
ppp2 * ppp2 192.168.7.2
执行以下命令配置端口转发,TinyCore Linux安装好后只需执行一次:
# PPP连接专用转发规则
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j MASQUERADE
# 添加其它端口转发规则:80-8080、25-8025、110-8110
iptables -t nat -A PREROUTING -d 10.0.2.2 -p tcp --dport 80 -j DNAT --to-destination :8080
iptables -t nat -A OUTPUT -d 10.0.2.2 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -d 10.0.2.2 -p tcp --dport 25 -j DNAT --to-destination :8025
iptables -t nat -A OUTPUT -d 10.0.2.2 -p tcp --dport 25 -j REDIRECT --to-port 8025
iptables -t nat -A PREROUTING -d 10.0.2.2 -p tcp --dport 110 -j DNAT --to-destination :8110
iptables -t nat -A OUTPUT -d 10.0.2.2 -p tcp --dport 110 -j REDIRECT --to-port 8110
# 保存转发规则
iptables-save > /opt/iptables-rules
新建或覆盖/etc/dnsmasq.conf,内容如下:
bind-interfaces
no-resolv
no-hosts
server=8.8.8.8
listen-address=10.0.2.15
address=/mysite.com/10.0.2.2
address=/www.mysite.com/10.0.2.2
将以下命令添加到/opt/bootlocal.sh中:
while true; do /sbin/getty 115200 ttyS0; done &
sysctl -w net.ipv4.ip_forward=1
iptables-restore < /opt/iptables-rules
while ! ifconfig -a|grep -q "inet addr:10.0.2.15"; do sleep 1; done;
dnsmasq
socat TCP-LISTEN:2345,reuseaddr,nodelay,fork system:'/usr/local/sbin/pppd "$SOCAT_PTY"',pty,stderr,setsid &
执行sudo filetool.sh -b命令保存修改。
以上安装步骤中,10.0.2.15为网卡IP地址(一般通过DHCP获取到),10.0.2.2为虚拟路由器地址,部署时需根据实际情况调整。
qemu-system-i386 \
-pidfile $PREFIX/tmp/tinycore.pid \
-machine type=q35,hpet=off -cpu max,vendor=GenuineIntel -smp 1 -m 128 \
-accel kvm \
-netdev user,id=network0,hostfwd=tcp:127.0.0.1:2345-:2345,dns=8.8.8.8 \
-device virtio-net,netdev=network0 \
-drive file=$HOME/tinycore.qcow2,format=qcow2 \
-display none -no-reboot -daemonize -boot d \
-serial unix:$HOME/tinycore-serial.sock,server,nowait
以上命令中已包含端口转发相关设置,其它虚拟机(比如VirtualBox)可参考进行配置。
在phonebook.txt中添加以下条目:
12345 127.0.0.1:2345
将DOSBox-X配置中[serial]小节下的配置项做如下修改:
serial1 = modem
phonebookfile = phonebook.txt
设置新的PPP连接的电话号码为12345,IP和DNS地址设置成自动获取,用户名和密码为ppp/ppp或ppp2/ppp2。
Windows 95需要检查“使用远程网上的默认网关”选项是否被选中,否则将无法连接目标服务器。
注意:必须保证所有PPP连接使用单独的用户名,否则将导致PPP服务器异常。