ctsTraffic icon indicating copy to clipboard operation
ctsTraffic copied to clipboard

Binding onto interface

Open matthewfcarlson opened this issue 8 years ago • 9 comments

It seems like the binding onto an interface is broken. I can specify the interface alias through compartment but it allows traffic over other interfaces because they're in the same compartment (adding new compartments is currently broken using netsh).

matthewfcarlson avatar Oct 04 '17 18:10 matthewfcarlson

Thanks for the feedback Matthew. Yeah, I can see how that's confusing. I tried to 'help' with this help text :)

"- specifies the interface alias of the compartment to use for all sockets"

The -compartment param isn't for actually binding to a specific interface, but to the compartment which that interface is apart of. I have another option in another fork (ctsperf_updates) where I expose -ifIndex, where you can restrict all traffic over a specific IP interface.

The reason why we ended up exposing compartments through an interface alias, versus the raw compartment ID, is that the customers who asked for it at the time found that was much simpler in actual deployment.

Thanks!

ghost avatar Oct 04 '17 18:10 ghost

I am trying to use the tool and run it remotely using powershell to automate network performance test among a lot of servers. Unfortunately, I am not able to do so...Although I see that a ctstraffic process exists on the sender side, I am not able to see anything on the receiver side...it looks like the tool needs a cmd or powershell windows to run correctly...IS there anyway to run it remotely and out of an interactive sessions ? would be great to do so and get an objetc out of it with the different performance measure.

Thanks

jsporbert avatar Oct 25 '18 07:10 jsporbert

      I am trying to use the tool and run it remotely using powershell to automate network performance test among a lot of servers. Unfortunately, I am not able to do so...Although I see that a ctstraffic process exists on the sender side, I am not able to see anything on the receiver side...it looks like the tool needs a cmd or powershell windows to run correctly...IS there anyway to run it remotely and out of an interactive sessions ? would be great to do so and get an objetc out of it with the different performance measure.

Thanks

Hi there. We have many clients who launch ctsTraffic from Powershell - it definitely does not need a cmd shell :)

If the receiver is not receiving anything, the most common configuration issue is the firewall does not have an ALLOW rule to allow inbound traffic. I would recommend creating an ALLOW rule based off the destination TCP port (by default it's 4444). Can you try that and verify?

Thanks!

ghost avatar Oct 25 '18 18:10 ghost

Great! The tool works between the servers I try to test when running from a powershell Window... However, I ma trying to run it through Invoke-Command... If you have such an exemple, I would be glad to have the script.

Thanks a lot.

Jerome

Outlook for Androidhttps://aka.ms/ghei36 herunterladen


From: Keith Horton [email protected] Sent: Thursday, October 25, 2018 8:51:19 PM To: Microsoft/ctsTraffic Cc: jsporbert; Comment Subject: Re: [Microsoft/ctsTraffic] Binding onto interface (#2)

  I am trying to use the tool and run it remotely using powershell to automate network performance test among a lot of servers. Unfortunately, I am not able to do so...Although I see that a ctstraffic process exists on the sender side, I am not able to see anything on the receiver side...it looks like the tool needs a cmd or powershell windows to run correctly...IS there anyway to run it remotely and out of an interactive sessions ? would be great to do so and get an objetc out of it with the different performance measure.

Thanks

Hi there. We have many clients who launch ctsTraffic from Powershell - it definitely does not need a cmd shell :)

If the receiver is not receiving anything, the most common configuration issue is the firewall does not have an ALLOW rule to allow inbound traffic. I would recommend creating an ALLOW rule based off the destination TCP port (by default it's 4444). Can you try that and verify?

Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FctsTraffic%2Fissues%2F2%23issuecomment-433164758&data=02%7C01%7C%7C6bcb3d7faa144dcadabd08d63aaadaef%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636760902815893507&sdata=6lgl735FR4bwsFqB7%2Ff6U8uaQtG6%2Bjoe1zC59BTUThk%3D&reserved=0, or mute the threadhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWGHCLCPtZ5XImUXCA9fIX0-q0w6pc1lks5uoggngaJpZM4PuCVK&data=02%7C01%7C%7C6bcb3d7faa144dcadabd08d63aaadaef%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636760902815893507&sdata=%2B3Yi%2FvKMFriJBQ%2BPN66MphzPRgRnxP1%2BhAbidfVBAU0%3D&reserved=0.

jsporbert avatar Oct 25 '18 19:10 jsporbert

Oh, now I see the issue. Yes, Invoke-Command requires a "script block" (note: I'm not a Powershell expert :)

This works (creating a script block with the curly braces):

Invoke-Command {.\ctsTraffic.exe -Listen:* -ServerExitLimit:8 -consoleverbosity:1 -statusfilename:test.log}

Thanks!

ghost avatar Oct 25 '18 20:10 ghost

Exactly what I'm doing but I'll give it a try again ??

Outlook for Androidhttps://aka.ms/ghei36 herunterladen


From: Keith Horton [email protected] Sent: Thursday, October 25, 2018 10:40:08 PM To: Microsoft/ctsTraffic Cc: jsporbert; Comment Subject: Re: [Microsoft/ctsTraffic] Binding onto interface (#2)

Oh, now I see the issue. Yes, Invoke-Command requires a "script block" (note: I'm not a Powershell expert :)

This works (creating a script block with the curly braces):

Invoke-Command {.\ctsTraffic.exe -Listen:* -ServerExitLimit:8 -consoleverbosity:1 -statusfilename:test.log}

Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FctsTraffic%2Fissues%2F2%23issuecomment-433197776&data=02%7C01%7C%7C6f87d424737341a185a208d63aba0e6c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636760968102723871&sdata=Wb9vF8XQrFnh%2FC77Wvi0jwwXiv9qZKKX8e2qpaKAhLE%3D&reserved=0, or mute the threadhttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWGHCAMNOQchNddtIS396rEG6lELSDquks5uoiGogaJpZM4PuCVK&data=02%7C01%7C%7C6f87d424737341a185a208d63aba0e6c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636760968102723871&sdata=YMdOtoWJPywLht9rbm8qmXXrvbkRqkWjlUpafbRkK1g%3D&reserved=0.

jsporbert avatar Oct 25 '18 21:10 jsporbert

Hi there. Can you copy here the command line you are giving? What are you seeing on the server side? Do you see connections working from the client side?

Thanks!

ghost avatar Oct 26 '18 19:10 ghost

Hi Keith, Sorry I was on Holiday...Hard to copy past now as the script stayed at my customer but this is what I tried to achieved...I want inside one script to test network performance among several servers (a 10 nodes cluster indeed)..So I need to run those tests in parallel. What I did so far is I created a script for the receiver side and one for the sender side. Both scripts take an IP address as argument (the receiver one) and will send traffic on the standard 4444 port. To be able to run the test in parallel, I use the invoke-command command with the as-job parameter...This is where it is not working at all althoug seems to works well in an interactive PS shell.

jsporbert avatar Nov 09 '18 09:11 jsporbert

Thanks. Without seeing the script, I don't know what the issue might have been. But you shouldn't need to start them up in parallel - you can add as many -target options as you want on the client. So one client can target all servers in a single run :)

That will round-robin between names (and/or round-robin between the resolved IP addresses)

Thanks!

ghost avatar Nov 12 '18 08:11 ghost