+ All Categories
Home > Documents > Providing HTTP Service on a Port - Candela …€¦Providing HTTP Service on a Port Goal: Configure...

Providing HTTP Service on a Port - Candela …€¦Providing HTTP Service on a Port Goal: Configure...

Date post: 18-Sep-2018
Category:
Upload: lytruc
View: 224 times
Download: 0 times
Share this document with a friend
24
http://www.candelatech.com [email protected] +1 360 380 1618 [PST, GMT -8] Providing HTTP Service on a Port Goal: Configure and activate a http server bound to a specific port in LANforge. This is useful if you want to provide an application layer target to interact with. This cookbook assumes you can access a shell prompt on the LANforge computer: the command-line instructions can be done at the system console, in a terminal over a remote desktop connection, or over ssh. The nginx service is only available on the Linux version of LANforge server. Note: There are two web servers installed in a LANforge computer. The default web server is a stock version of Apache HTTPD that responds to all port 80 requests on all interfaces. For testing we recommend running Candela Technologies' version of Nginx on specific ports as covered in this cookbook. In contrast, Apache cannot bind to a network-device therefore we do not suggest running it. Nginx can also be configured to listen to IPv6 traffic. Jump to the end of the cookbook for that technique. 1. Stop and disable LANforge system Apache instance. A. Log into the LANforge computer as user lanforge Network Testing and Emulation Solutions
Transcript

http://[email protected]+13603801618[PST,GMT-8]

ProvidingHTTPServiceonaPort

Goal:ConfigureandactivateahttpserverboundtoaspecificportinLANforge.

Thisisusefulifyouwanttoprovideanapplicationlayertargettointeractwith.ThiscookbookassumesyoucanaccessashellpromptontheLANforgecomputer:thecommand-lineinstructionscanbedoneatthesystemconsole,inaterminaloveraremotedesktopconnection,oroverssh.ThenginxserviceisonlyavailableontheLinuxversionofLANforgeserver.

Note:TherearetwowebserversinstalledinaLANforgecomputer.ThedefaultwebserverisastockversionofApacheHTTPDthatrespondstoallport80requestsonallinterfaces.FortestingwerecommendrunningCandelaTechnologies'versionofNginxonspecificportsascoveredinthiscookbook.Incontrast,Apachecannotbindtoanetwork-devicethereforewedonotsuggestrunningit.

NginxcanalsobeconfiguredtolistentoIPv6traffic.Jumptotheendofthecookbookforthattechnique.

1. StopanddisableLANforgesystemApacheinstance.A. LogintotheLANforgecomputerasuserlanforge

NetworkTestingandEmulationSolutions

B. Becomesuper-userusingthecommandsu-(orsudo-s)

C. StoptheApacheservicewithsystemctlstophttpd

D. Ifyouwantthissettingtopersistafterareboot,disabletheservice:systemctldisablehttpd

E. Setthisassystemdefaultwith:systemctldaemon-reload

2. (Optional)ThereareotheroptionsforrunningApacheifyouwanttohavebothwebserversavailable.YouwouldnotneedstopanddisableApache,justrestartit.YoucanchangeApacheto:

A. ...listentoadifferentport(like81).Edit/etc/httpd/conf/httpd.confandchangetheListenoption.

B. ...bindtoaspecificIPaddress,whichisagoodoptionifyouconfiguretheLANforgecomputertohaveafixedIPaddressonthemanagementport.Youwouldedithttpd.confandchangeListentothatspecificIPaddressandport80.Example:Listen192.168.1.40:80

3. Thedemonstrationtestwe'llcreateismakingtwoports,oneformakingrequestsandtheotheroneforservingtheprotocol.Let'screatetwoports:

A. Createaredirectdevice:A. InthePortstab,clicktheCreatebutton

B. SelectRedirect

C. Enterrd0afor#1Redirname,D. andrd0bfor#2Redirname.E.ClickApplyandthenCanceltoclosethewindow.

B. Configurerd0aastheserviceport:

A. InthePortstab,double-clicktherowforportrd0a

B. TheConfigureSettingswindowwillappear

C. SetanIPof10.2.0.1,D. anetmaskof255.255.255.0E. andthereporttimetofaster(1s).

F. ClickOK

C. Configurerd0basaclientportA. InthePortstab,double-clicktherowforportrd0b

B. TheConfigureSettingswindowwillappear

C. SetanIPof10.2.0.3,D. anetmaskof255.255.255.0E. andthereporttimetofaster(1s).

F. ClickOK

4. EnableHTTPserviceonyourupstreamportusingthefollowingsteps.

A. Enablethenginxserviceonportrd0a:A. InthePortstab,double-clicktherowforportrd0a

B. TheConfigureSettingswindowwillappear

C. Inthelowerleftcolumnofthewindow,enableHTTPoption.

D. ClickOKandthenclosethewindow.

B. (Optional)Modifythenginxconfigfileforportrd0a.ThisexampleassumesyouareloggedintotheLANforgesystemconsole,orhaveconnectedtothedesktopusingaremote-desktopclientlikevncviewer.Ifyouarefamiliarwitheditingfromthecommand-line,youwilllikelyknowhowtodothisviassh.

A. FromthedesktopAccessoriesmenu,selectTerminalEmulator,

B.ChangetotheLANforgenginxdirectory:cd/home/lanforge/vr_conf

C. Editthefilenginx_rd0a.conf.Ifyoudonotseethefile,youmighthaveconnectedtothewrongLANforgeresource,oryoumightnothaveclickedOK/ApplywhenenablingtheConfigureSettingswindowforportrd0a.

D. Youwillseethatthelistendirectiveisalreadysetto10.2.0.1:80bind_dev=rd0a;

E. Ifyouwanttochangesettings,deletethefirstlineoftheconfigfileaspartofyourchanges.ThiswillsignalLANforgenottooverwritethefile.

C. Toapplythechangestothenginxserviceonthisport:A. DisabletheHTTPDserviceintherd0aConfigureSettingswindow,

B.ClicktheApplybutton,C. EnableHTTPDservice,

D. ClicktheApplybutton,

E.ClicktheCancelbuttontoclosethewindowifyouaredone.

D. Aquickwaytoaddafileintothenginxdocumentrootfolderistosymlinkthesystemdictionarythere.Youwillneedtobeinaterminalorunixshelloftheresourcerunningnginx(192.168.100.40inthisexample)

A. Changetheownershipofthedocumentrootdirectorytouserlanforge:B. sudochownlanforge:lanforge/usr/local/lanforge/nginx/html

C. cd/usr/local/lanforge/nginx/html

D. ln-s/usr/share/dict/linux.words.

E. (Optional)Toloadalargerpayload(suchasaDVDfile),youcanuseFilezilla(orscp)tocopythefileover.Youwillwanttohavechangedthenginxdocumentrootdirectoryownertolanforge(asabove):

A. Fromyourdesktop,usingFilezilla

I. quickconnecttosftp://192.168.100.40(alsonamedjed-f20inthisexample)

II. usingusernamelanforgeandpasswordlanforge

B. Intheleftcolumn,chooseyourlocaldirectory(Y:\downloads)

C. Intherightcolumn,typeinthenginxdocumentroot,/usr/local/lanforge/nginx/htmlandhitenter

D. Intheleftcolumn,double-clickyourDVDimage(Fedora-20-x86_64.netinst.iso)

E. youwillseethefilewhenitistransferredappearintherightcolumn

5. Configureapplication-layertrafficusingtheLayer-4tabtools:A. IntheLayer-4tab,clicktheCreatebutton,

B. YouwillseetheCreate/ModifyL4Endpointwindow

C. Createaconnectionnamedweb-requests,

D. WithaReporttimeroffast(1s)

E. fromResource(jed-f20)portrd0b.

F. Let'smaketenrequestsasecond.Enter6000forURLsper10m.

G. JumpdowntotheURLfield,andenterhttp://10.2.0.1/index.html

H. andtoavoidsavingtheresult,settheDestFileto/dev/null

I. ClickOKandthewindowwillclose.

6. Runningthetrafficissimple:A. Selecttherownamedweb-requestsintheLayer-4table,

B. ClicktheStartbutton.

C. ClicktheDisplaybuttontoseemoredetailonthetraffic:

7. Itisalsopossibletoverifyyourconnectionsetupfromthecommand-line:

A. ToverifytheLayer3connection,youcanuseping:ping-I10.2.0.310.2.0.1

B. Toseethatnginxislisteningonport80,usenetstatontheresourcerunningnginxandseewhatislisteningonport80:sudonetstat-ntlp|grep':80'

C. Toseetheoutputofthewebrequest,youcanuseLANforge'sversionofcurllocatedin/home/lanforge/local/bin/curl.Sinceitusesbundledlibraries,firsttype:cd/home/lanforge&&../lanforge.profileThissetsupallenvironmentvariablesandpathstoworkwiththebinariesandlibrariesshippedwithLANforge.

D. Verifyitrunswithoutcomplaint:/home/lanforge/local/bin/curl--help

E. Ifyouscrollupinyourterminal,youwillseeoptionsavailableintheoutputnotfoundinanormalversionofcurl,like--dns_server,--dns_interface,--dns_ip4_addr,--dns_ip6_addr,--interfaceand--localaddr.Wewilluse--interfacenext.

F. Craftyourdownloadcommand:cd/home/lanforge/local/bin./curl--interface10.2.0.3'http://10.2.0.1/index.html'

G. Youwillseethehtmloutputintheterminal:

H. Therewillbearecordofconnectionsanderrorsinthenginxlogsdirectory:cd/usr/local/lanforge/nginx/logs

8. [Advanced]CreatingIPv6traffictonginx.Wewillassumeascenariowhereeth1willservenginxrequestsandeth2willgeneraterequests.

A. AddIPv6addressestoyourports.Wewilladdee::2:1/120foreth1,ee::2:2/120foreth2,andsetthegatewaysforthemtoee::2:fe.Wewon'tactuallyuseagateway,butourportconfigurationrequiresit.

A. Hereiseth1,andwewillenabletheHTTPserviceaswell.

B.Hereiseth2,noticehowweaddedanIPv4addresstotheport.DothatsothattheCreateLayer-4dialogdoesnotcomplain.

C. HereisapictureofthePortMgrtab,withportsontworesourcesconfigured.

D. Verifyyourconnectionbetweenportsusingping6:$ping6-Iee::2:2%eth2ee::2:1

B. Edityour/home/lanforge/vr_conf/nginx_eth1.conffile.YouwillremovetheheadercommentandalterthelistenstatementstoincludeIPv6addresses.Youcanlistenfor[::]oryoucouldlistenfor[ee::2:1]

C. IfyouprovideanIPv6address,pleasewatchthenginxlogfileforerrors:listeningonanIPv6addressiseasytomisconfigure.Thelogfilescanbefoundin/usr/local/lanforge/nginx/logs

D. Re-startthehttpserviceoneth1byun-checkingHTTP,clickingApply,checkingHTTP,clickingOK.

E. ConfigureyourLayer-4endpoint:

A. Nameyourendpoint

B. SetyourURLsperMinute

C. SpecifytheURLwithbrackesaroundtheaddress:http://[ee::2:1]/index.htmlD. Setyouroutputfileto/dev/null

F. Youcanwatchtrafficoneth1oreth2toverifythewebrequests.

CandelaTechnologies,Inc.,2417MainStreet,Suite201,Ferndale,WA98248,USAwww.candelatech.com|[email protected]|+1.360.380.1618


Recommended