Project

General

Profile

MS DHCP » History » Version 4

Ohad Levy, 10/19/2011 04:42 PM

1 1 Paul Kelly
h1. MS DHCP
2
3
The Microsoft smart-proxy installation procedure is very basic compared to the RPM or APT based solution. 
4
5
It is required that this procedure is executed as an administrator.
6
7 4 Ohad Levy
# Go to the smart-proxy repository at https://github.com/ohadlevy/smart-proxy
8
# Select download and choose the latest revision
9
# Extract this to a directory that does not have any spaces in its name.
10
# Go to the rubyinstaller webpage at http://rubyinstaller.org/downloads/
11
# Download and install the latest ruby 1.8.7 release. (Allow the ruby associations to be installed.)
12
# Open a CMD window and, using *gem install --version X.X.X --platform ?????*, add these gems
13 1 Paul Kelly
14
 columnize (0.3.2)
15
 highline (1.6.1)
16
 json (1.4.6 x86-mswin32)
17
 linecache (0.43 mswin32)
18
 mime-types (1.16)
19
 mocha (0.9.11)
20
 net-ping (1.3.7)
21
 rack (1.2.0)
22
 rake (0.8.7)
23
 rest-client (1.6.1)
24
 sinatra (1.1.0)
25
 tilt (1.1)
26
 win32-api (1.4.6 x86-mswin32-60)
27
 win32-open3 (0.3.2 x86-mswin32-60)
28
 win32-service (0.7.1 x86-mswin32-60)
29
 windows-api (0.4.0)
30
 windows-pr (1.1.2)
31
32 2 Kai Stian Olstad
Command to download them all:
33
<pre>
34
wget http://rubygems.org/downloads/columnize-0.3.2.gem \
35
     http://rubygems.org/downloads/haml-3.0.24.gem \
36
     http://rubygems.org/downloads/highline-1.6.1.gem \
37
     http://rubygems.org/downloads/json-1.4.6-x86-mswin32.gem \
38
     http://rubygems.org/downloads/linecache-0.43-mswin32.gem \
39
     http://rubygems.org/downloads/mime-types-1.16.gem \
40
     http://rubygems.org/downloads/mocha-0.9.11.gem \
41
     http://rubygems.org/downloads/net-ping-1.3.7.gem \
42
     http://rubygems.org/downloads/rack-1.2.0.gem \
43
     http://rubygems.org/downloads/rake-0.8.7.gem \
44
     http://rubygems.org/downloads/rest-client-1.6.1.gem \
45
     http://rubygems.org/downloads/sinatra-1.1.0.gem \
46
     http://rubygems.org/downloads/tilt-1.1.gem \
47
     http://rubygems.org/downloads/win32-api-1.4.6-x86-mswin32-60.gem \
48
     http://rubygems.org/downloads/win32-open3-0.3.2-x86-mswin32-60.gem \
49
     http://rubygems.org/downloads/win32-service-0.7.1-x86-mswin32-60.gem \
50
     http://rubygems.org/downloads/windows-api-0.4.0.gem \
51
     http://rubygems.org/downloads/windows-pr-1.1.2.gem
52
</pre>
53 3 Kai Stian Olstad
54
To get it to work on Windows 2008 R2 some of the packages has to change
55
<pre>
56
 columnize (0.3.2)
57
 highline (1.6.1)
58
 json (1.4.6 x86-mingw32)
59
 linecache (0.43 mswin32)
60
 mime-types (1.16)
61
 mocha (0.9.11)
62
 net-ping (1.3.7)
63
 rack (1.2.0)
64
 rake (0.8.7)
65
 rest-client (1.6.1)
66
 sinatra (1.1.0)
67
 tilt (1.1)
68
 win32-api (1.4.6 x86-mingw32)
69
 win32-open3 (0.3.2 x86-mingw32)
70
 win32-service (0.7.1 x86-mswin32-60)
71
 windows-api (0.4.0)
72
 windows-pr (1.1.2)
73
</pre>
74
75
Command to download them all:
76
<pre>
77
wget http://rubygems.org/downloads/columnize-0.3.2.gem \
78
     http://rubygems.org/downloads/haml-3.0.24.gem \
79
     http://rubygems.org/downloads/highline-1.6.1.gem \
80
     http://rubygems.org/downloads/json-1.4.6-x86-mingw32.gem \
81
     http://rubygems.org/downloads/linecache-0.43-mswin32.gem \
82
     http://rubygems.org/downloads/mime-types-1.16.gem \
83
     http://rubygems.org/downloads/mocha-0.9.11.gem \
84
     http://rubygems.org/downloads/net-ping-1.3.7.gem \
85
     http://rubygems.org/downloads/rack-1.2.0.gem \
86
     http://rubygems.org/downloads/rake-0.8.7.gem \
87
     http://rubygems.org/downloads/rest-client-1.6.1.gem \
88
     http://rubygems.org/downloads/sinatra-1.1.0.gem \
89
     http://rubygems.org/downloads/tilt-1.1.gem \
90
     http://rubygems.org/downloads/win32-api-1.4.6-x86-mingw32.gem \
91
     http://rubygems.org/downloads/win32-open3-0.3.2-x86-mingw32.gem \
92
     http://rubygems.org/downloads/win32-service-0.7.1-x86-mswin32-60.gem \
93
     http://rubygems.org/downloads/windows-api-0.4.0.gem \
94
     http://rubygems.org/downloads/windows-pr-1.1.2.gem
95
</pre>
96
97 1 Paul Kelly
8) CD to the root of the smart-proxy install directory
98
9) Edit config/settings.yml so that it looks a bit like this
99
100
_Sample config/settings.yml file_
101
<pre>
102
 ---
103
 # HTTPS settings
104
 :ssl_certificate: c:\documents\smart-proxy\config\signed.pem
105
 :ssl_private_key: c:\documents\smart-proxy\config\private.pem
106
 :ssl_ca_file:     c:\documents\smart-proxy\config\ca.pem
107
108
 :trusted_hosts: [ foreman.someware.com]
109
110
 :daemon: false
111
112
113
 # Enable DHCP management
114
 :dhcp: true
115
 # The vendor can be either isc or native_ms
116
 :dhcp_vendor: native_ms
117
 # The dhcp_server is only used by the native_ms implementation
118
 :dhcp_server: 172.29.90.240
119
120
 # Where our proxy log files are stored
121
 # filename or STDOUT
122
 # Unix setting
123
 #:log_file: log/proxy.log
124
 # Windows setting
125
 :log_file: c:\tmp\proxy.log
126
 # valid options are
127
 # Logger::WARN, Logger::DEBUG, Logger::Error, Logger::Fatal, Logger:INFO, LOGGER::UNKNOWN
128
 #:log_level: Logger::DEBUG
129
</pre>
130
131
10) Create the SSL key
132
10.1) Login to your puppetmaster
133
10.2) puppetca --generate _Smart-proxy FQDN_. (Do not use an alias here.)
134
10.3) Copy the private key, the public certificate and the ca.pem from /var/lib/puppet/ssl over to the locations that you specified in the setting file.
135
11) Test the installation by running ruby bin\smart-proxy.rb
136
12) Install the program as a service
137
12.1) ruby extra\register-service.rb
138
12.2) This may install the service but not run it. If so then try to start the service from the Ordinary Microsoft services snapin utility.
139
13) You may test connectivity by running the *extra\query.rb* utility from your foreman host. (Note that this file comes from the _extra_ directory in the smart-proxy release.)