Centos7配置PPTP共享网络
一、检查是否支持PPTP
1、查看系统是否支持PPTP
modprobe ppp-compress-18 && echo success
#应该输出:success
2、是否开启TUN/TAP
cat /dev/net/tun
#应该输出:cat: /dev/net/tun: File descriptor in bad state
3、是否开启ppp
cat /dev/ppp
#应该输出:cat: /dev/ppp: No such device or address
如果环境不满足上面3个条件,表示很可能不支持pptp
二、安装相关软件
1、安装PPP
yum install -y ppp
2、安装PPTP
yum install -y pptpd
3、安装Iptbles
yum install -y iptables-services
三、配置PPTP
1、设置vpn网卡
vi /etc/pptpd.conf
# vpn服务虚拟网卡地址
localip 192.168.0.1
# 给连接到的机器分配的ip池
remoteip 192.168.0.101-200
2、修改DNS服务器及日志文件
vi /etc/ppp/options.pptpd
#更改DNS
ms-dns 8.8.8.8
ms-dns 8.8.4.4#修改日志文件
nologfd
logfile /var/log/pptpd.log
3、设置VPN账号密码
vi /etc/ppp/chap-secrets
# 格式:<用户名> pptpd <密码> *
pptptest pptpd 123456 *
4、启动pptp
启动pptp:service pptpd start
关闭pptp:service pptpd stop
重启pptp:service pptpd restart
这时候本地电脑可以访问VPN服务器,但是不能访问外网
四、修改内核参数支持转发
1、开启服务器系统路由模式,支持包转发
vi /etc/sysctl.conf
(如果文件没有内容,把下面这些全部复制进去即可)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
kernel.sysrq = 1
# 增加这一行
net.ipv4.ip_forward = 1
2、生效
sysctl -p
五、配置firewalld
1、创建规则文件
vi /usr/lib/firewalld/services/pptpd.xml
<?xml version="1.0" encoding="utf-8"?><service><short>pptpd</short><description>PPTP</description><port protocol="tcp" port="1723"/></service>
2、启动防火墙
service firewalld start
3、添加服务
firewall-cmd --permanent --zone=public --add-service=pptpd
- 注:pptpd就是上面创建的pptpd.xml
4、允许防火墙伪装IP
firewall-cmd --add-masquerade
5、开启47及1723端口
firewall-cmd --permanent --zone=public --add-port=47/tcp
firewall-cmd --permanent --zone=public --add-port=1723/tcp
6、允许gre协议
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT
7、设置规则允许数据包由可访问外网的网卡(上图的em1)和 vpn虚拟网卡ppp+(加号指正则匹配一个数字)中进出
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o em1 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i em1 -o ppp+ -j ACCEPT
- 注意把这里的em1改成自己可以访问外网的网卡
8、设置转发规则,从指定源地址发出的所有包都进行伪装,改变地址,由可访问外网的网卡发出
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o em1 -j MASQUERADE -s 192.168.0.0/24
- 注意:
- em1:改成自己可访问外网网卡地址
- 192.168.0.0/24:要和 /etc/pptpd.conf 的 remoteip 地址段对应,格式为 xxx.xxx.xxx.0/24
9、重启防火墙
service firewalld restart
六、配置iptables
1、开放pptp端口1723(pptp的连接端口)
iptables -I INPUT 7 -m state --state NEW -p tcp --dport 1723 -j ACCEPT
2、允许转发
iptables -P FORWARD ACCEPT
3、iptables配置,配置虚拟网段NAT支持。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
4、解决PPTP服务网速慢
(参考网页: http://www.92csz.com/52/1244.html)
iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
5、保存iptables规则
service iptables save
6、重启防火墙
service iptables restart
service firewalld restart
firewalld与iptables补充说明:
1、配置存储位置
- iptables服务将配置存储在 /etc/sysconfig/iptables和/etc/sysconfig/ip6tables 中
- firewalld将配置存储在/usr/lib/firewalld/和/etc/firewalld/中的各种XML文件中
- 注意,/etc/sysconfig/iptables文件不存在,因为在Red Hat Enterprise Linux上默认安装了firewalld
- 所以两个防火墙软件配置互不相干,如果要开启端口要把两个都开启
2、每次更改配置时
在iptables服务中,每次更改都意味着刷新所有旧规则并从/etc/sysconfig/iptables读取所有新规则,即一次save之后,之前的所有的设置将丢失,只会保存该次save的内容
而在firewalld中不需要重新创建所有规则。
iptables在更改配置后会丢失连接,但firewalld可以在运行时更改设置,而不会丢失现有的连接。
为了保证速度 限制一个账户登录(参考)
1、创建auth-up文件
vi /etc/ppp/auth-up
#!/bin/sh
# get the username/ppp line number from the parameters
REALDEVICE=$1
USER=$2
# create the directory to keep pid files per user
mkdir -p /var/run/pptpd-users
# if there is a session already for this user, terminate the old one
if [ -f /var/run/pptpd-users/$USER ]; then
kill -HUP `cat /var/run/pptpd-users/$USER`
rm /var/run/pptpd-users/$USER
fi
# copy the pid file of current user to /var/run/pptpd-users
cp "/var/run/$REALDEVICE.pid" /var/run/pptpd-users/$USER
流程如下:
1.用户登录判断是否有/var/run/pptpd-users/用户名的文件
2.如果有平滑重启这个vpn用户进程,如果没有创建这个文件,文本里面有用户进程ID
3.老的连接被踢掉,新的连接可以使用
备注:这种模式下,一个账号只允许一个用户使用。
2、保证有可执行权限
chmod a+x /etc/ppp/auth-up
3、重启pptpd
service pptpd restart
日志记录更多用户信息(参考)
vpn 登录和断开的时候,会自动执行/etc/ppp/ip-up和/etc/ppp/ip-down两个脚本,查看这两个脚本,会发现有这样一行 “This file ”should not be modified – make local changes to /etc/ppp/ip-up.local instead"
也就是说这两个脚本不要修改,如果要添加自定义的功能,修改ip-up.local脚本。
vi /etc/ppp/ip-up.local
echo "---------------Login---------------------------------------" >> /var/log/pptpd.log echo "time: `date -d today +%F_%T`" >> /var/log/pptpd.log echo "clientIP: $6" >> /var/log/pptpd.log echo "username: $PEERNAME" >> /var/log/pptpd.log echo "device: $1" >> /var/log/pptpd.log echo "vpnIP: $4" >> /var/log/pptpd.log echo "assignIP: $5" >> /var/log/pptpd.log echo "-----------------------------------------------------------" >> /var/log/pptpd.log
保存后,注意
chmod +x ip-up.local
添加可执行权限;vi /etc/ppp/ip-down.local
echo "---------------Logout--------------------------------------" >> /var/log/pptpd.log echo "time: `date -d today +%F_%T`" >> /var/log/pptpd.log echo "clientIP: $6" >> /var/log/pptpd.log echo "username: $PEERNAME" >> /var/log/pptpd.log echo "device: $1" >> /var/log/pptpd.log echo "vpnIP: $4" >> /var/log/pptpd.log echo "assignIP: $5" >> /var/log/pptpd.log echo "-----------------------------------------------------------" >> /var/log/pptpd.log
保存后,注意
chmod +x ip-down.local
添加可执行权限;
最后重启pptpd服务
Centos7配置PPTP共享网络相关推荐
- CentOS7配置samba共享文件系统
文章目录 一.安装软件包 二.修改系统配置 1.关闭SELINUX 2.开通防火墙端口 3.启用smb服务 三.Samba服务的参数文件 四.配置任何人都可以访问的共享文件系统 1.创建测试目录和文件 ...
- Centos7命令行连接wifi网络,手机usb共享网络
Centos7命令行连接wifi网络,手机usb共享网络 无线网卡可用的情况下,查看网卡 激活 查看一下网卡状态 扫描可用wifi 连接指定wifi 获取ip 查看ip 使用以上方式连接手机热点有ip ...
- centos7开机自动连接网络和固定IP配置
说明 centos7 系统安装好之后是默认是不自动连接网络 配置自动连接网络 进入网络配置文件目录: cd /etc/sysconfig/network-scripts/ 网络配置文件:ifcfg-x ...
- 利用Parallels Desktop如何配置Mac与 Windows之间共享网络
在mac电脑上安裝Parallels Desktop后,默认设置状况下,Windows 已设置为与 mac电脑 Os X 共享网络设定.Windows 程序可以通过使用 Mac 的 IP 地址访问本地 ...
- VMware虚拟机设置固定IP配置步骤(与宿主机共享网络)
1.目的: 实现a:虚拟机可以ping通宿主机,可以访问宿主机指定端口,宿主机可以ping通虚拟机,访问虚拟机指定端口. 实现b:本机可以上外网,虚拟机也可以上外网. 2.实现步骤: 2.1 虚拟机 ...
- Proxmox VE 网络配置 NAT共享IP 端口映射iptables、brook
PVE网络配置官方文档:跳转 配置桥接网卡,使Proxmox VE(PVE)可以同时创建NAT虚拟机和独立IP虚拟机,同时可以使用脚本映射NAT虚拟机的端口到外网. 1.开启ipv4.ipv6转发 v ...
- Centos7配置yum源(本地yum源和阿里网络yum源)
一.centos7配置yum源 yum源分为本地yum源和网络yum源 1.配置本地yum源 步骤一:在centos虚拟机中挂载光盘 1.创建挂载点目录 [root@localhost ~]# mkd ...
- 虚拟机centos7 配置网络不成功问题
虚拟机centos7 配置网络不成功问题 重要可以分为三步 1.虚拟机安装 2.虚拟机网络配置 3.虚拟机内centos网络配置 具体的可以参考centos详细网关配置 在按照原文操作时依然无法连接 ...
- 驱动板网线直连电脑共享网络配置
驱动板网线直连电脑共享网络配置 1 前置情况 1.1 电脑设置WiFi共享 1.2 查看主机和共享网络的ip 2 驱动板内设置共享网络 2.1 查看驱动板网络状态 2.2 UP BROADCAST R ...
最新文章
- 速度超快!字节跳动开源序列推理引擎LightSeq
- android easylink 搜索设备_手把手教你将数据从Android移动到iPhone步骤与技巧
- docker run指定entrypiont
- php msgid排重,如何应用php数组对百万数据停止排重
- 漫步最优化二十四——二分搜索
- Pytorch入门-2
- zend studio 的注册码-php的编辑器
- mysql 数据库取前后几秒 几分钟 几小时 几天的语句
- easyui自学模板代码
- 主板电源接口测试软件,雷电接口加入! Intel原厂血统Z77测试
- 台式计算机搜索不到无线信号,win7电脑搜不到无线信号怎么办_win7找不到无线网络怎么解决-win7之家...
- 怎么用u盘安装服务器系统,怎么安装原版Windows server 2008?U盘安装很省心
- c语言写定时闹钟程序,定时闹钟C语言程序.doc
- 领扣LintCode问题答案-5. 第k大元素
- 为什么不推荐大家去外包公司
- 清华化学北航学计算机怎么选填志愿,2017年清华、北航多校采用大类招生,高考志愿该如何填报?...
- 三分钟了解一下深度学习
- 高级运维工程师证书_一位IT运维工程师的CISSP认证历程,值得借鉴!
- swift 生命周期_iOS View的生命周期详解
- 120年奥运史:运动员和成绩(相关数据集)