Sunday, May 13, 2012

ipUpTime.net has been redesigned


For the last six months or so, I've been so busy and haven't been able to devote much need time to develop Pinkie since I have to maintain, update ipUpTime.net to keep it in sync with Pinkie.  As the result, the release of Pinkie v2.15 was delayed for quite a few months.

So I’ve decided to switch to WordPress and use it as the CMS platform to manage the website. By doing this, I can leverage the CMS to maintain and update the website, giving me more time to focus on the development of Pinkie itself.

Take a look at it here & let me know what you think of the new site.

Friday, May 11, 2012

Installing Wordpress on Windows Using Remote Database Server

I got Wordpress installed on a Windows Server following the instruction in the post: Installing Wordpress on Windows.

My Wordpress site is on a Virtual Machine while the database server is on a physical machine connected via a private LAN.   Since the mySQL database server is one another machine, I have to choose Remote Database option for the installation.

The installation when fine but when I access the site, I  got an error message saying it couldn't login to the database.  I checked the database and I can see the database has been created and the user has permission but the thing is, the user permission wasn't properly setup.  The scope has been limited to "localhost" and as the result the connection from the VM got denied.

Easy fix, I thought.  I proceed to change the scope to the grant access from remote machine.  But that didn't help either.  My next action was to check the database itself and I can see that it has already been created.  Looking into the tables, I see none.  So apparently, during the installation, the root password was asked but the installer did not use it to create tables and instead, the wordpress user account is used to create them instead and since remote connection wasn't allowed, it couldn't login to create the table so the database is empty.

Bottom line is changing the scope to allow for remote connection on the wordpressuser account don't work.  I tried creating the user before the installation, but that didn't work either since a new one with the same scope showed up and ruin the party.

So I decided to use the root account/password to install it instead of creating a new user and things went well.  My site was up and running in less than 30 seconds.  But now my site is running with the root password which didn't sound good.

Poking around in the wordpress folder, I found a file called wp-config.php.  This file contains the database settings among other things.  I locate the database user, get rid of the root user and replace it with the one I created for the site.

Now I got Wordpress running on a less privileged account.  If you are having issue installing Wordpress on Windows using a remote database server, I hope this blog helps you.

Installing Wordpress on Windows

So I decided to use Wordpress as the blogging platform and since I am more comfortable getting around in Windows environment, I decided to install Wordpress on Windows.  There are a few ways to get it installed on Windows but the quickest and easiest way (or so they say) is to use the Microsoft Web Platform Installer.

Just follow these steps:
  1.  Launch Microsoft Web Platform Installer
  2. Click on Applications (at the top)
  3. Click Add button on the Wordpress item
  4. Finally, click Install button at the bottom of the screen
The installer will ask you a few questions regarding the database, username and server name... Then it will proceed with the installation in a few seconds.  When the installation is finised, it will give you a like that will take you to the Admin area where you can configure an Admin account and customize your wordpress site.

That should be it.  You should have a wordpress site running on a Windows server now unless you are like me... using a another server for database storage run into some other errors.

If you do run into an issue using remote database server then check out this post: Installing Wordpress on Windows Using Remote Database Server.

Wednesday, May 9, 2012

Using Ping Feature More Effectively


Ping is one of the network troubleshooting technique that I can't go without these days.  In this post, I'll show you how to take advantage of all the extras that you don't have in the Command Window.  
  • Ping Multiple Hosts: Press F1 to bring up the Add Host Address dialog.  Enter hosts/IP addresses which can be separated by space, comma, semi-colon, tab or a line feed.
  • Reduce/Increase # of Rows Displayed For Ping Result: By default, Pinkie will show you 4 lines of ping results.  This can fill up the window pretty quick if you ping multiple hosts at the same time.  To reduce the # of rows, press F3 or increase it by F4.
  • Check Ping Statistics For a Host: Select a host by clicking on it, the status bar at the bottom will change to show the ping statistics for the selected host which includes packets sent/received, lost count & percentage, last ping RTT along with Min, Max & Avg RTTs.
  • Start/Stop a Ping: Right click on the host you want to start/stop pinging, select Ping first menu item in the context menu will change to Start/Stop as appropriate.  Clicking on it will stop a ping in progress or start it if it's not started yet.
  • Reset Ping Statistics: Right click on a host you want to reset statistics, select Ping then click on Reset Statistics.
  • Copy Ping Results: When troubleshooting network or server issues, you might have the need to send the ping result to someone.  This can be done by simply right click on the host and select Copy Result to Clipboard. then paste it to an email or wherever you wish.
  • Logging Ping Results to Disk: If you wish to log ping results to a file to analyze later or send it to someone else, right click on the host, select Ping then in the context menu, click on Start Logging or Stop Logging as appropriate.  By default, the ping results will be saved in C:\Users\[username]\Documents\ipUptime.net\Pinkie_Logs.  You can change this path in the Settings menu.
That's not all all the extras that comes with the Ping functionality in Pinkie but it will definitely make you like and use Pinkie more (or shy away from the Command Prompt more).

If you can come up with a better way to use Ping or wish to have enhancements added to it, please let me know.  And last but not least, if you haven't used Pinkie yet, give it a try, you might like it.

Tips and tricks on how to use Pinkie more effectively

If you have ever used Pinkie for network/server troubleshooting, you might have noticed that it doesn't come with any document with the exception of a Read Me file.

I do recognize that Pinkie needs some sort of documentation but it's just not the highest priority at the moment.  That's why each function in Pinkie has been designed very carefully to make it easy to use.


But even with an easy to use and intuitive user interface, it still doesn't expose all the features and functionalities that Pinkie is capable of.  As the result, I'll try to start a series of posts on how to use all the features of Pinkie and to make it a more effective tools to assist you in your daily routine of troubleshooting network/server issues.

Check back on this blog or in the support forums at forums.ipUpTime.net for the Tips & Tricks for Pinkie.

Regards,
Brian Dao

Monday, May 7, 2012

URL Mappings

Earlier this week, I released a suite of network troubleshooting utilities called Pinkie through a website named <a href="http://www.ipuptime.net">ipUptime.net</a>.

Everything went well. The public seems to welcome it and as I monitor the statistics for the site as well as the download counts from other download sites, I realized that something is wrong with my site statistics.

If people download the file through the link on my site then the download count is incremented. But if they had download it from other sites, using the URL I had submitted then the download is not accounted for.

Changing the published URL for all other sites will be time consuming so I was looking for a better solution to the issue. Then I remember ASP.net 2.0 supports URL Mappings. So by using URL Mappings, within a minute or two, my problem is solved.

Here's the syntax for URL Mappings:


<add url ="~/newurl.aspx" mappedUrl="~/oldURL.aspx"/>
</urlMappings>

Best use for URL Mappings are for shortening long, hard to remember URL to something short & easy to remember or in my case, correct a mistake and save time.

Pinkie support forums

In an effort to consolidate and track bug reports, feature requests and enhancements, I have created a support forums for Pinkie.

If you have a bug to report or a feature you'd like to see in the next Pinkie release, please visit forums.ipUpTime.net and post it there.

Regards,
Brian

Thursday, April 26, 2012

Pinkie v2.15 is out!

After numerous delays due to time & resource constraints, I am glad to announce that Pinkie v2.15 is here.  You can get the new version at ipUpTime.net.

Here's a rundown of new features and enhancements in this version.
  • Added IPv6 support for Ping, DNS, Traceroute, Subnet Calculator & PortScanner
  • Added Bulk DNS lookup
  • Added input validation for IPv4 & IPv6
  • Added option to use Enter key as new line
  • Added option to edit host list
  • Added option to exclude primary hosts
  • Added option to keep main window on top of other screens
  • Added feedback option
  • Added View menu
  • Added delimiters (comma, semi-colon, space, pipe) for new hosts
  • Added input validation for various input controls
  • Added option to show last notification
  • Added keyboard shortcuts
  • Added Tell a Friend feature
  • Added Comment feature
  • Added link to report bug
  • Added link to request feature
  • Added application icons
  • Fixed keyboard bugs for input fields (up, down, left, right, backspace, delete....)
  • Fixed screen flickering on Ping tab
  • Fixed bug in portscanner when using range of ports
  • Fixed bug in pingsweep where resolving/responding host count doesn't reset
  • Fixed column formatting when export for pingsweep
  • Fixed split distance when restore to default size (F12)
  • Fixed program still runs in the background if it is closed by user X it out
  • Fixed IPv6 logging issues
  • Fixed dropdown boxes
  • Updated software registration/action process
  • Updated system notification protocol & UI
  • Updated application logo
There are still a lot of new features and enhancements I still haven't had time to implement yet. And it doesn't look like I'll have any spare time in the near future so I decided to cut the list and release v2.15.

Monday, September 5, 2011

Finally, an IPv6 calculator

In an effort to update Pinkie to support IPv6, I postponed my other projects to spend sometime on IPv6 and as the result, we have yet another IP Address Calculator.

When I finished integrating the IP calculator into the next release of Pinkie, I realized there wasn't one online that had the functionalities I wanted; I figured I wasn't the only one like that so I spend yet more time working to bring it online and now we have another IPv6 calculator.

This one is a little bit different than all the others in a sense that it supports both IPv4 & IPv6 on the same user interface (just because I hate having to go to different site for different types of IP address like I hate having the functionalities of Pinkie in multiple programs or windows for that matter). It also help you convert and identify different type of IPv6 addresses.

Hope you can use it!

Last but not least, I hope you support my sponsors.

Online IP Address Calculator

Thursday, May 13, 2010

Fun with Procurve switches

What would you do if you have a bunch of Procurve switches and some free time?

Well, as I found out, you can have a little fun besides just learning and working.



This video was found through this blog: http://bhbodeezy.com/tag/locatorleds/

Sunday, February 28, 2010

Earlier this week, I released a suite of Windows network troubleshooting utilities called Pinkie through a website named ipUptime.net.

Everything went well. The public seems to welcome it and as I monitor the statistics for the site as well as the download counts from other download sites, I realized that something is wrong with my site statistics; the numbers don't match up and my number came up short.

As I found out, if people download the Pinkie through the link on my site then the download count is incremented. But if they had download it from other sites, using the URL I had published then the download is not accounted for.

Changing the published URL for all other sites will be time consuming so I was looking for a better solution to the issue. Then I remember ASP.net 2.0 supports URL Mappings. So by using URL Mappings, within a minute or two, my problem is solved.

Here's the syntax for URL Mappings:

<urlmappings>
<add url="~/newurl.aspx" mappedurl="~/oldURL.aspx"></add>
</urlmappings>

Best use for URL Mappings are for shortening long, hard to remember URL to something short & easy to remember or in my case, correct a mistake and save time.

Friday, February 26, 2010

Simple Website

A friend of mine runs a small business in Houston, TX and needed to enhance the company's web image.

With the little free time I had, I was able to put together a simple, mostly static HTML site for her.

You can check it out here: eyecareforyouonline.com.

Thursday, February 25, 2010

Blogging again!!!

It's been a long while since I posted a blog. Well, apparently, I had forgotten my password and was unable to recover it since the email account I registered with Google wasn't active. Therefore, I wasn't able to login to the site.

In a recent Networking project called Pinkie, I needed to activate the web hosting account again and finally able to reset the password to the blogger account.

So in the comming days, I'll start blogging again when I get some free time.

Monday, April 21, 2008

Virtual Private Networks Troubleshooting - Part I

I've seen quite a number of posts asking why VPN users are not able to access their network even though they have been successfully connected.

Let's try to troubleshoot what happens here. A very common VPN setup is to use 2 NICs and run Routing and Remote Access on one of them. The benefits of this would be that you can isolate VPN traffic and keeping it from overloading the NIC that handles the internal network traffic. One thing to note for is that the two NICs have to be assigned IPs from different networks or subnets. For example:

1st NIC (VPN): 192.168.1.2 /24
2nd NIC(internal network): 192.168.2.2 /24

(Don't worry if you don't understand the /24. It's called the slash notation for the subnet mask which is the equivalent of 255.255.255.0)

Through the initial RRAS setup, users will be able to connect to the VPN just fine and will be assigned an IP address of one of the networks. The problem arise when they try to connect to network resources on through the 2nd NIC (the other network). This is due to the fact that Windows doesn't know how to route the packets from the 192.168.1.0 network to 192.168.2.0 network.

You can tell Windows how to route traffic between the two NICs by configuring a static route with the "Route" command. Type "Route /?" at the Command Prompt for more information.

And as usual, I have a second way to accomplish the job by turning on Routing using RIP or OSPF and add the two NICs to it.

One thing that I see lacking from most Windows Administrators is the understanding of TCP/IP and network routing. I would recommend Windows Administrators to take CCNA anytime. Even though it might seem so remote from their daily tasks, one can walk away from a CCNA class with so much helpful information that makes their job much easier to do.

Monday, March 17, 2008

Switch Port Security

If you are working in a strict security environment then switch port security is a must. Configuring switch port security could become a tidious task. However, if you can control the environment when you setup the network, this little trick can help you save a lot of work.

Instead of configuring port security and manually enter MAC address for the port, you could plug all your hosts in then issue the following commands:

Switch(config)#int range f0/1-xx
Switch(config-if-range)#switchport port-security
Switch(config-if-range)#switchport port-security maximum 1
Switch(config-if)#switchport port-security violation restrict
Switch(config-if-range)#switchport port-security mac-address sticky
Switch(config-if-range)#end

The first command takes you to the interface range configuration mode; the next two turn on the port security and set a maximum number of mac addresses to 1. "Violation restrict" will not allow traffic for any host whose mac address is different than what the switch has learned for the port in question. After that, the "mac-address sticky" commands instruct the switch to learn the mac address dynamically and remembers it for the each port.

Sunday, March 2, 2008

Basic Load Balancing

Load Balancing normally has two modes of operation: Per-Destination and Per-Packet.

Per destination load balancing means the router distributes the data packets based on the destination address. If you have two paths going to Host A & B on the same network then all packets for Host A will travel over the first path and all packets for Host B will travel over the second path. This will preserve the packet order which is very useful in certain applications; however, it could result in unequal usage of the network links as bandwidth & load are not taken into route calculation.

Per packet load balancing means the router sends one packet over the first path and second packet over the second path; all going to the same destination. Per packet load balancing guarantees equal load across all the links; however, the packets may arrive at the destination out of order because of different delay/bandwidth may exist on different paths.

Per destination load balancing is enable by the command:

Router# config t
Router(config)# interface Ethernet 0
Router(config-if)# no ip route-cache

Now the router CPU will look at every single packet and spread them across the different path available in the routing table for the destination. This is not recommended on low end server as it could crash the router because the CPU must do all the processing and might not be able to handle it. To enable fast switching, use the following commands:

Router# config t
Router(config)# interface Ethernet 0
Router(config-if)# ip route-cache


Newer switching schemes such as Cisco Express Forwarding (CEF) allow you to do per packet and per destination load balancing more quickly but it does imply that extra resources will be needed to maintain it.

Thursday, February 28, 2008

Reload

Working remotely with routers & switches you don't have the flexibility to reset the devices at will when things go wrong unless you can control power distribution to the devices.

This is where the Reload command comes in handy. Before making changes to the configuration, you can enter:

Reload in 10

which will reload the device in 10 minutes. Once the command is entered, you can proceed with the configuration changes. If things go wrong and you lost connectivity to the device, try back in about 10 minutes since the device will get reloaded with the original startup-configuration and restore connectivity.

Once you confirm that your new configuration is working properly, you can issue the command:

Reload cancel

to cancel the reload. I find this trick to be very useful when I have to telnet or SSH to a remote device and hopefully you too.

Monday, February 25, 2008

Add Redundancy With Backup Command

You can add redundancy to your network and make you network more resilient with the Backup command. What this command does is specify an interface which will act as a back up in case the primary interface fails.

Let's take a look at the following configurations:

On RouterA:

Configure terminal
Interface f0/0
Ip address 192.168.1.1 255.255.255.0
no shutdown
Interface f0/1
Ip address 192.168.2.1 255.255.255.0
no shutdown
Backup interface f0/0
Exit
Router eigrp 20
network 192.168.1.0
network 192.168.2.0

On RouterB:

Configure terminal
Interface f0/0
Ip address 192.168.2.2 255.255.255.0
no shutdown
Interface f0/1
Ip address 192.168.2.2 255.255.255.0
no shutdown
Backup interface f0/0
Interface loop 0
Ip add 192.168.8.1 255.255.255.0
Exit
Router eigrp 20
network 192.168.1.0
network 192.168.2.0
network 192.168.8.0

With these configurations loaded, both Fa0/1's will change to up/up while Fa0/0's will go into standby mode and monitor the activities on Fa0/1. In the event that Fa0/1 goes down, Fa0/0 will switch to active mode and establish neighbor relationship with the connected interface and complete the failover.

To verify this, from RouterA you can ping 192.168.8.1 with the repeat parameter:

Ping 192.168.8.1 repeat 10000

This command will ping 192.168.8.1 10k times. While it's pinging, unplug the cable to Fa0/1. you will see that the link go down, the ping will fail and then within seconds Fa0/0 will be up and resume the active role and the pinging will resume as nothing has happened. If the link on Fa0/1 becomes active again, Fa0/0 will switch back to standby mode.

This is a quick and easy way to add redundancy to your network. There are other techniques that you can use to add redundancy to your network to include both layer 2 and layer 3 redundancies which I will discuss at another opportunity.

Friday, February 22, 2008

Keyboard Shortcuts

If you use CLI to manage your Cisco routers & switches then you should to get familiarized with the keyboard shortcuts as the can save you a lot of time & typings.

Here's the shortcut list:

  • Ctrl+B: Moves back one character at a time
  • EscB: Moves back one word at a time
  • Ctrl+A: Moves to the start of a line
  • Ctrl+F: Moves forward one character at a time
  • Esc+F: Moves forward one word at a time
  • Ctrl+E: Moves to the end of a line
  • Delete: Erases the character to the left of the cursor
  • Backspace: Erases the character to the left of the cursor
  • Ctrl+D: Deletes the character at the cursor
  • Ctrl+K: Deletes all characters from the cursor to the end of the line
  • Ctrl+U: Deletes all characters from the cursor to the beginning of the line
  • Ctrl+X: Deletes all characters from the cursor to the beginning of the line
  • Ctrl+W: Deletes the word to the left of the cursor
  • Esc+D: Deletes from the cursor to the end of a word

If none of these commands work, enhanced editing may be turned off. You can turn on enhanced editing issuing the command at the privileged command prompt:

Router# terminal editing

Wednesday, February 13, 2008

Stop Logging Messages From Interrupting Your Work

One of the things that I find really annoying with the Cisco devices is that when I am configuring a router or a switch, the console messages keep popping up all over the places and interfere with my work. Although this doesn't cause any typo error but it's really difficult to see what you have typed. Luckily, we can control the logging message behavior.

To disable, use:
Router(config)# no logging console

or if you prefer to see what's going on with the router/switch then use the "logging synchronous" command:
Router(config)# line console 0
Router(config-line)# logging synchronous
Router(config)# line vt 0 4
Router(config-line)# logging synchronous

It would be nice if these were taken into consideration and set as default options when the IOS is built but it's not the case so until they change it, you will have to either put up with it or do a little extra work to change the default behavior.