在redhat4 sp3上配置pptp伺服器
在redhat4 sp3上配置pptp伺服器
在redhat4 sp3上配置pptp伺服器(本文主要是下面參考網址的內容,比著做了一遍,放這裡作為一個記錄,並不是發表什麼文章)
參考:http://poptop.sourceforge.net/dox/redhat-howto.phtml
http://www.pconline.com.cn/pcedu/soft/lan/jywzj/0509/697099_1.html
1、確認核心版本
#uname -r
2.6.9-34.EL
版本低於2.6.15需要打補丁
從http://sourceforge.net/project/showfiles.php?group_id=44827
上下載dkms-2.0.10-1.noarch.rpm
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm 安裝內核MPPE(Microsoft Point to Point Encryption,微軟點對點加密)
pptpd-1.3.3-1.rhel4.i386.rpm
ppp-2.4.3-5.rhel4.i386.rpm 安裝PPP(Point-to-Point Protocol,點到點協議)
pptp-1.7.0-1.i386.rpm
安裝它們
用以下命令檢查內核MPPE補丁是否安裝成功:
#modprobe ppp-compress-18
用以下命令檢查PPP是否支持MPPE:
#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
如果以上命令輸出為「0」則表示不支持;輸出為「30」或更大的數字就表示支持。
修改配置文件
1.修改modules.conf文件
編輯/etc/modules.conf配置文件,加入如下內容:
alias char-major-108 ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
alias net-pf-47 ip_gre
2.修改pptpd.conf文件
編輯/etc/pptpd.conf配置文件,添加如下內容,確定本地VPN伺服器的IP地址和客戶端登錄後分配的IP地址範圍。
ppp /usr/sbin/pppd
debug
option /etc/ppp/options.pptpd
localip 192.168.0.254 #本地VPN伺服器的IP
remoteip 192.168.0.1-253 #客戶端被分配的IP範圍
3.修改options.pptpd文件
編輯/etc/ppp/options.pptpd配置文件,替換成如下內容:
auth
lock
debug
proxyarp
lock
name rh9vpn #VPN伺服器的名字
multilink
refuse-pap
refuse-chap
refuse-mschap
refuse-eap
refuse-mschap-v2
require-mppe
ms-wins 192.168.1.2 #把想要在網路鄰居中看到的機器的IP填寫到這裡
ms-dns 192.168.1.2 #DNS伺服器地址
dump
logfile /var/log/pptpd.log #日誌存放的路徑
4.修改chap-secrets文件
編輯/etc/ppp/chap-secrets配置文件,添加如下內容:
# client server secret IP addresses
"abc1" * "test" *
上面第二行代碼的四項內容分別對應第一行中的四項。「abc1」是Client端的VPN用戶名;「server」對應的是VPN伺服器的名字,該名字必須和/etc/ppp/options.pptpd文件中指明的一樣,或者設置成「*」號來表示自動識別伺服器;「secret」對應的是登錄密碼;「IP addresses」對應的是可以撥入的客戶端IP地址,如果不需要做特別限制,可以將其設置為「*」號。
5.設置IP偽裝轉發
只有設置了IP偽裝轉發,通過VPN連接上來的遠程計算機才能互相ping通,實現像區域網那樣的共享。用下面的命令進行設置:
#echo 1 > /proc/sys/net/ipv4/ip_forward
可以將這條命令放到文件/etc/rc.d/rc.local裡面,以實現每次開機時自動運行該命令。
6.打開防火牆埠
將Linux伺服器的1723埠和47埠打開,並打開GRE協議。
#/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
#/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT
#/sbin/iptables -A INPUT -p gre -j ACCEPT
到這裡Linux伺服器的設置就完成了,下面將利用Windows客戶端進行測試。
如果要求外網機器通過vpn連接其它網段的機器,還要用iptable做NAT轉發
在實際應用中,我的防火牆是這樣設置的:
#!/bin/sh
# load any special modules
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
# delete any existing chains
iptables -F
iptables -F -t nat
iptables -X
iptables -Z
# turn on ip forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
#iptables -A INPUT -p tcp --dport 47 -j ACCEPT
#iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 192.168.1.2#(VPN伺服器本機地址)
奇怪的是,我把上面紅色的兩句註釋掉,仍然能正常拔號,不知道是怎麼回事?
[ 本帖最後由 hsyll 於 2006-9-29 15:18 編輯 ]
《解決方案》
#iptables -A INPUT -p tcp --dport 47 -j ACCEPT
有個小小的疑問,目標埠是47? 我記得協議類型是47,以前用pptp的時候沒聽說要用47號埠啊?還是我記錯了?
gre好像就是類型號為47的協議。
《解決方案》
應該是協議號
還是sailer_sh看得仔細
《解決方案》
:D:D:D
ip 0 IP # internet protocol, pseudo protocol number
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # internet group management protocol
ggp 3 GGP # gateway-gateway protocol
ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'')
st 5 ST # ST datagram mode
tcp 6 TCP # transmission control protocol
cbt 7 CBT # CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk>
egp 8 EGP # exterior gateway protocol
igp 9 IGP # any private interior gateway (Cisco: for IGRP)
bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring
nvp 11 NVP-II # Network Voice Protocol
pup 12 PUP # PARC universal packet protocol
argus 13 ARGUS # ARGUS
emcon 14 EMCON # EMCON
xnet 15 XNET # Cross Net Debugger
chaos 16 CHAOS # Chaos
udp 17 UDP # user datagram protocol
mux 18 MUX # Multiplexing protocol
dcn 19 DCN-MEAS # DCN Measurement Subsystems
hmp 20 HMP # host monitoring protocol
prm 21 PRM # packet radio measurement protocol
xns-idp 22 XNS-IDP # Xerox NS IDP
trunk-1 23 TRUNK-1 # Trunk-1
trunk-2 24 TRUNK-2 # Trunk-2
leaf-1 25 LEAF-1 # Leaf-1
leaf-2 26 LEAF-2 # Leaf-2
rdp 27 RDP # "reliable datagram" protocol
irtp 28 IRTP # Internet Reliable Transaction Protocol
iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4
netblt 30 NETBLT # Bulk Data Transfer Protocol
mfe-nsp 31 MFE-NSP # MFE Network Services Protocol
merit-inp 32 MERIT-INP # MERIT Internodal Protocol
sep 33 SEP # Sequential Exchange Protocol
3pc 34 3PC # Third Party Connect Protocol
idpr 35 IDPR # Inter-Domain Policy Routing Protocol
xtp 36 XTP # Xpress Tranfer Protocol
ddp 37 DDP # Datagram Delivery Protocol
idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto
tp++ 39 TP++ # TP++ Transport Protocol
il 40 IL # IL Transport Protocol
ipv6 41 IPv6 # IPv6
sdrp 42 SDRP # Source Demand Routing Protocol
ipv6-route 43 IPv6-Route # Routing Header for IPv6
ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6
idrp 45 IDRP # Inter-Domain Routing Protocol
rsvp 46 RSVP # Resource ReSerVation Protocol
gre 47 GRE # Generic Routing Encapsulation
mhrp 48 MHRP # Mobile Host Routing Protocol
bna 49 BNA # BNA
ipv6-crypt 50 IPv6-Crypt # Encryption Header for IPv6
ipv6-auth 51 IPv6-Auth # Authentication Header for IPv6
i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA
swipe 53 SWIPE # IP with Encryption
narp 54 NARP # NBMA Address Resolution Protocol
mobile 55 MOBILE # IP Mobility
tlsp 56 TLSP # Transport Layer Security Protocol
skip 57 SKIP # SKIP
ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6
ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6
ipv6-opts 60 IPv6-Opts # Destination Options for IPv6
# 61 # any host internal protocol
cftp 62 CFTP # CFTP
# 63 # any local network
sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK
kryptolan 65 KRYPTOLAN # Kryptolan
rvd 66 RVD # MIT Remote Virtual Disk Protocol
ippc 67 IPPC # Internet Pluribus Packet Core
# 68 # any distributed file system
sat-mon 69 SAT-MON # SATNET Monitoring
visa 70 VISA # VISA Protocol
ipcv 71 IPCV # Internet Packet Core Utility
cpnx 72 CPNX # Computer Protocol Network Executive
cphb 73 CPHB # Computer Protocol Heart Beat
wsn 74 WSN # Wang Span Network
pvp 75 PVP # Packet Video Protocol
br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring
sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary
wb-mon 78 WB-MON # WIDEBAND Monitoring
wb-expak 79 WB-EXPAK # WIDEBAND EXPAK
iso-ip 80 ISO-IP # ISO Internet Protocol
vmtp 81 VMTP # Versatile Message Transport
secure-vmtp 82 SECURE-VMTP # SECURE-VMTP
vines 83 VINES # VINES
ttp 84 TTP # TTP
nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP
dgp 86 DGP # Dissimilar Gateway Protocol
tcf 87 TCF # TCF
eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco)
ospf 89 OSPFIGP # Open Shortest Path First IGP
sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol
larp 91 LARP # Locus Address Resolution Protocol
mtp 92 MTP # Multicast Transport Protocol
ax.25 93 AX.25 # AX.25 Frames
ipip 94 IPIP # Yet Another IP encapsulation
micp 95 MICP # Mobile Internetworking Control Pro.
scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro.
etherip 97 ETHERIP # Ethernet-within-IP Encapsulation
encap 98 ENCAP # Yet Another IP encapsulation
# 99 # any private encryption scheme
gmtp 100 GMTP # GMTP
ifmp 101 IFMP # Ipsilon Flow Management Protocol
pnni 102 PNNI # PNNI over IP
pim 103 PIM # Protocol Independent Multicast
aris 104 ARIS # ARIS
scps 105 SCPS # SCPS
qnx 106 QNX # QNX
a/n 107 A/N # Active Networks
ipcomp 108 IPComp # IP Payload Compression Protocol
snp 109 SNP # Sitara Networks Protocol
compaq-peer 110 Compaq-Peer # Compaq Peer Protocol
ipx-in-ip 111 IPX-in-IP # IPX in IP
vrrp 112 VRRP # Virtual Router Redundancy Protocol
pgm 113 PGM # PGM Reliable Transport Protocol
# 114 # any 0-hop protocol
l2tp 115 L2TP # Layer Two Tunneling Protocol
ddx 116 DDX # D-II Data Exchange
iatp 117 IATP # Interactive Agent Transfer Protocol
stp 118 STP # Schedule Transfer
srp 119 SRP # SpectraLink Radio Protocol
uti 120 UTI # UTI
smp 121 SMP # Simple Message Protocol
sm 122 SM # SM
ptp 123 PTP # Performance Transparency Protocol
isis 124 ISIS # ISIS over IPv4
fire 125 FIRE
crtp 126 CRTP # Combat Radio Transport Protocol
crdup 127 CRUDP # Combat Radio User Datagram
sscopmce 128 SSCOPMCE
iplt 129 IPLT
sps 130 SPS # Secure Packet Shield
pipe 131 PIPE # Private IP Encapsulation within IP
sctp 132 SCTP # Stream Control Transmission Protocol
fc 133 FC # Fibre Channel
《解決方案》
是類型號,所以我在iptables把它註釋掉了,網上的資料裡面有那一句,實驗證明,沒有它也行
#iptables -A INPUT -p tcp --dport 47 -j ACCEPT
#iptables -A INPUT -p gre -j ACCEPT 這句註釋掉也行,是不是默認情況下是開著的?
《解決方案》
對!
用iptables -nvL
查看,可知,默認的協議是All,既然是All,當然包含gref協議的,對不?
《解決方案》
我按照樓主的配完后,用XP撥號提示錯誤:678,遠程計算機沒有反應。
《解決方案》
照著樓主的教程做了一遍,發現把防火牆關了可以聯通VPN。
而我的1723埠已經開啟了,這是怎麼回事?
《解決方案》
樓主。連接l2tp伺服器時報721號錯誤,知道是什麼問題嗎?