Traffic Graph for LAN and WAN showing outside IP Addresses



  • Hi Guys,

    I've just updated PFsense 2.1 to most recent for 6th March 2013.

    When viewing Status: Traffic Graph: Outside IP addresses are now being shown regardless is WAN or LAN is selected. Is this now normal?

    Before, when viewing Status: Traffic Graph: WAN, we would see only the IP Address associated with WAN interface, and when selecting LAN, we would see LAN IP Addresses only.

    Can this be fixed or maybe expanded to show host IP with destination IP and bandwidth is use, but how would you show multiple destination IP's per one host IP?


  • Rebel Alliance Global Moderator

    Can you post an example, I am running 2.1 and just looked and if I pick wan it shows me my wan IP, if lan then it shows me the IP of a HOST on my lan that is sending traffic.

    Prob not going much going on right at the moment on my home network - but I toggled back and forth a few times and never saw any outside IPs

    Is this outside IP your IP, or you mention outside IPs - are they hosts your talking too?



  • Hi

    Here are some images. I've never seen this before. I usually just see our public IP attached to the WAN or the locally assigned IP's on the LAN side. Never outside addresses.

    ![Traffic Graph WAN.gif](/public/imported_attachments/1/Traffic Graph WAN.gif)
    ![Traffic Graph WAN.gif_thumb](/public/imported_attachments/1/Traffic Graph WAN.gif_thumb)
    ![Traffic Graph LAN.gif](/public/imported_attachments/1/Traffic Graph LAN.gif)
    ![Traffic Graph LAN.gif_thumb](/public/imported_attachments/1/Traffic Graph LAN.gif_thumb)
    ![CPU Type.gif](/public/imported_attachments/1/CPU Type.gif)
    ![CPU Type.gif_thumb](/public/imported_attachments/1/CPU Type.gif_thumb)


  • Rebel Alliance Global Moderator

    I would have to keep an eye on mine - and generate some traffic from a box to something to see what it shows.  But that 2nd IP on the list is mail.carsands.com so I assume that traffic is email

    But sure it would be nice if showed the IP pair ;)

    I do see some private 192.168.1.105, .153 and 125 on your lan generating traffic.



  • Yea..Carsands doesn't exist. The internet says it does, but it doesn't. Trust me on that!  ;)

    Outside IP addresses shouldn't be visible, as far as I know from what I've seen before though.


  • Rebel Alliance Global Moderator

    let me generate some traffic and take a look see..  So I can see multiple hosts on my lan, all private IPs.  And watched my wan for a while - and only ever saw my IP

    But I am on a slightly older snap than you

    2.1-BETA1 (i386)
    built on Mon Mar 4 08:19:15 EST 2013
    FreeBSD 8.3-RELEASE-p6

    Maybe its a new feature where they show endpoints of the conversation - but I agree with you, if going to do that then they should show both endpoints.

    edit:  BTW it does exist

    ;; ANSWER SECTION:
    mail.carsands.com.      14400  IN      CNAME  carsands.com.
    carsands.com.          14400  IN      A      85.13.199.75

    Just that the PTR does not match the forward.  So who owns that 69.57 netblock needs to remove that reverse ;)

    OrgName:        Cable & Wireless Antigua and Barbuda Ltd

    telnet 85.13.199.75 25
    Trying 85.13.199.75…
    Connected to 85.13.199.75.
    Escape character is '^]'.
    220-server10.gserverservice.com ESMTP Exim 4.80 #2 Wed, 06 Mar 2013 21:50:35 +0000
    220-We do not authorize the use of this system to transport unsolicited,
    220 and/or bulk e-mail.




  • Ok, thanks..

    The current way traffic graph displays the IP addresses is confusing. I hope it is fixed because I need to see who, under LAN is using what bandwidth. Introducing external metrics in the current format is well, it's not LAN. Perhaps another kind of page can be made this, like traffic connection matrix or something.

    Jits.



  • I upgraded to:
    2.1-BETA1 (i386)
    built on Wed Mar 6 14:18:05 EST 2013
    FreeBSD 8.3-RELEASE-p6

    The traffic graph list of top bandwidth users is listing IPs for both directions - for WAN I get my WAN IP and the IPs of external sites. For LAN I get local LAN IPs of clients, plus IPs of sites I am accessing.
    As it happens, I was looking at making this display have the option to show host names, rather than just IPs. Thankfully that pull request has not been committed, so that can't have caused the issue - https://github.com/bsdperimeter/pfsense/pull/464 (Edit: I just updated that pull request to give the user the option to display the FQDN or just the host name - seems to work nicely in conjunction with the extra feature we just got - sites that have reverse DNS available display their hostname/FQDN when selected)
    Seems something else has changed in the last week or so that causes /usr/local/bin/rate to gather data in both directions and report separately.



  • This looks like the feature that has changed:
    https://github.com/bsdperimeter/pfsense-tools/commit/d09e8fddd50e95f731f7cef8d1db92ba1b4f2398
    Now it seems to be giving back data separately about both directions.
    Actually, I find that is quite handy in the display - we just need an option to display it also like it used to be, putting the traffic for both directions of a particular local (LAN…) IP together and not using the outside addresses.



  • Hrm yeah that can be a consequence of the change.

    Can probably change to only local hosts as it used to be before for aggregation.



  • I like the full display of bandwidth users with both the source and destination ends shown.
    Maybe it would be easy to add an option to the display to filter the output to get the previous behaviour?
    3 options - show all, show by source, show by destination.



  • It gets complicated fast though :)

    Also destination ips without resolving reverse dns are a bit vaguish on the lan/wan



  • The support for displaying reverse DNS host name or FQDN is in the code now, and it displays names for quite a few sites.
    I am about to head home, so I am happy to have a look at ways to filter the rate utility output to display all/internal/external.


  • Rebel Alliance Global Moderator

    I think the confusion is how do you know which outside IP is talking to which local IP.  If on then its assumed those are all hosts talking to your 1 wan IP.  But on the lan, it would be clearer if you showed both endpoints of the conversation on the same line.



  • https://github.com/bsdperimeter/pfsense/pull/468 - allows you to filter the display to just show the entries for local IPs, remote IPs, or all. Filter "Local" makes it look like it used to.
    Adding a column so we can display source and destination address pairs on each row, and report by source/destination address pair is another thing altogether. And actually, I usually just want to see the total bandwidth that someone is using and then go and harrass them!
    If someone really wants bandwidth by source/destination IP pairs then I suggest put in a request on Redmine and start working on it:)



  • Note: If you are using Traffic Graph to display local host names/FQDN then it is also good to enable "Do not forward private reverse lookups" in DNS Forwarder. It is also good to enable this if you have other applications that are doing reverse DNS lookups of private addresses for which you don't actually have PTR records.
    Often on the local LAN there can be many host IPs that do not have reverse DNS (PTR) entries. If this option is not enabled then those reverse DNS lookups will get forwarded to the default upstream DNServers (in most cases the real internet). Those queries will return nothing, the internet gets flooded with this rubbish and the display/application has to wait for a round-trip delay to get the negative answer.



  • I just noticed some "stale" Host IPs in the traffic-graph table.

    In the screen I have in front of me right now, among others it (wrongly) shows outbound traffic to 4 different IPs. These IPs belong to a local web-portal (CDN) and I connected to those 4 IPs about 15' ago, but the related states have expired (according to pfctl -ss).



  • I noticed that every now and then also. It happens when the table length reduces by more than 1 row between 1 update and the next. Seems to be a "feature" that has been in the code from day one. I believe this will fix it: https://github.com/bsdperimeter/pfsense/pull/469



  • Hi Guys,

    Thanks very much for the fix. I updated via Git, but I noticed something else now…See picture attached...

    WAN is selected..the graph is correct, however under the headings of Bandwidth IN and Bandwidth OUT, they don't match the graph. Bw OUT should be Bw IN and vice versa, if I'm correct.

    Thanks.

    ![After Git Update. Traffic Graph..png](/public/imported_attachments/1/After Git Update. Traffic Graph..png)
    ![After Git Update. Traffic Graph..png_thumb](/public/imported_attachments/1/After Git Update. Traffic Graph..png_thumb)



  • Now the bandwidth by IP table shows the data flowing with respect to addresses that are at both the external and internal ends of the network. So the column headings do not work either way round. For example, the screenshot shows me doing a download - the In and Out columns have the opposite figures with respect to the local machine and the server on the internet.
    The column headings could be "Bandwidth From" and "Bandwidth To".
    Any better suggestions for headings?




  • HI Phil,

    As you can see from the attached, the bandwidth indicators are correct for ALL WAN and LOCAL LAN, but when ALL LAN is selected and LOCAL WAN, the bandwidth usage indicators are reversed and are not in sync with the graph.

    Gifs attached, Just ignore me if I'm getting too "German" about the way things are displayed.

    Thanks, Jits.

    ![Traffic Graph LAN ALL Not sure.gif](/public/imported_attachments/1/Traffic Graph LAN ALL Not sure.gif)
    ![Traffic Graph LAN ALL Not sure.gif_thumb](/public/imported_attachments/1/Traffic Graph LAN ALL Not sure.gif_thumb)
    ![Traffic Graph Correct for LOCAL LAN.gif](/public/imported_attachments/1/Traffic Graph Correct for LOCAL LAN.gif)
    ![Traffic Graph Correct for LOCAL LAN.gif_thumb](/public/imported_attachments/1/Traffic Graph Correct for LOCAL LAN.gif_thumb)
    ![Traffic Graph Correct for ALL WAN.gif](/public/imported_attachments/1/Traffic Graph Correct for ALL WAN.gif)
    ![Traffic Graph Correct for ALL WAN.gif_thumb](/public/imported_attachments/1/Traffic Graph Correct for ALL WAN.gif_thumb)
    ![Traffic Graphing indicators.gif](/public/imported_attachments/1/Traffic Graphing indicators.gif)
    ![Traffic Graphing indicators.gif_thumb](/public/imported_attachments/1/Traffic Graphing indicators.gif_thumb)



  • @jits - I work with a few Germans, so I have learnt to cope with their OCD ways ;) In the programming business OCD is good.
    I think this pull request will fix up the In/Out confusion - https://github.com/bsdperimeter/pfsense/pull/477
    The table is actually showing BW from and to each IP address listed. The meaning of In/Out flips depending on which side of the interface the IP is. So From/To are better column labels.



  • Just updated today, I did wonder why all the external ip addresses and hostnames are showing up now, very strange.

    I do like that we can select hostnames though.

    Is a fix coming?

    thanks



  • The fix is already comitted, but there hasn't been a snapshot build for a few days now. In the meantime, while we wait for the snapshot builds to resume, you can use gitsync to get it.



  • after the march 1st snaps im not able to see any ip address in list




  • I just upgraded to 2.1-BETA1 (i386) built on Mon Mar 11 08:59:46 EDT 2013 and it seems fine for me. The "rate" utility that generates the bandwidth by IP data just does a quick sample of the traffic. When the bandwidth is very low, it is quite easy for the short sample to not get much of a decent "average", or to see nothing much at all. Start something downloading for real and you should see it clearly.



  • i tried on another machine same latest snap and that one shows so how can one machine show the ips and the other not, what could be wrong?



  • It works in the newest updated. But it isn't as simple to use as before.

    I wish it would default to the previous configuration, and if you want to see external IPs then select that.

    Listing a bzillion external IPs/hostnames coming and going isn't that visually helpful as it changes so fast.



  • I believe ermal is going to work on the In/Out sides of the display, so that the numbers for both local and remote IPs will match the In/Out convention of the graph.
    The default for the table could easily be changed to "Filter: Local" - maybe people could give votes here for what they would prefer as the defaults? or a "Save" button could be put on the page that would save the current settings to the config and it would load those when it starts (more effort for that)?



  • the table that shows in/out the ips just come and go too fast and if ur specifically monitoring a few local ips then they keep jumping up and down so y not simply keep the ip list static, meaning as soon as there is traffic from some ip, list it permanently and then just keep refreshing its in/out packets and suppose this ip stop communication for like 30 seconds then remove it from list



  • Does it make sense that external IPs/host names are displayed, especially when LAN interface is selected?



  • This same issue is present in PRERELEASE builds of 2.0.3 (see http://forum.pfsense.org/index.php/topic,58203.msg324782.html#msg324782). I note a few commits have been made to the master branch in response to this issue, although I'm not quite able to follow what is what. If any of these commits fix the original issue, can they be backported to RELENG_2_0 before 2.0.3 gets released?



  • I fixed so it accounts properly for the local subnet without showing the not local ips.



  • The "rate" utility is now back to the old behaviour, only showing local/internal IP addresses and is good for releasing 2.0.3. Whatever happens next, we need to be careful not to mess up the 2.0.n behaviour.
    With no remote addresses returned by "rate", the "Filter: All/Local/Remote" box on the GUI is no longer useful/relevant.
    I actually liked being able to see the external IP addresses. Combined with the option to display the FQDN (of IPs that have a reverse-lookup available) it often meant that I could quickly see what site a big BW user is downloading from. Of course it doesn't always work - if the IP has no reverse lookup then you have to do some work yourself on the raw IP if you want to get an idea what it is. The "Filter" option lets you suppress this output if you wish.
    It would be easy enough to make "rate" take an extra parameter to make it spit out external IPs also. Then that could be invoked from the 2.1 code and not break the 2.0.n behaviour.
    What do others think? Do you think having the external IP display option is useful?



  • Why not let the user choose his preferred display mode by remembering the last chosen selection and using it by default until a different one is chosen.



  • @jcyr:

    Why not let the user choose his preferred display mode by remembering the last chosen selection and using it by default until a different one is chosen.

    That requires a config write, which would not be ideal to do every time the user changes one of the dropdown selections. Adding a "Save Settings" button is probably the way to go.



  • Agreed…


Locked