Writing a commercial proposal, I want to create a nice graphic showing the clients the architecture I thought of for their IT network, with servers, network connections, firewall, load-balancing, etc.

For years I have been using dia, but I am tired of it because: the results are not satisfying, very few network elements are available, and each element's graphic representation is really ugly.

Question: How to create nice network diagrams?

If a better set of elements was available for dia, that would be a solution.


Solution 1:

Try these LibreOffice/OpenOffice galleries with Draw: http://www.vrt.com.au/downloads/vrt-network-equipment

CC licensed, also available in Fedora repos and the libreoffice extensions site.

UPDATE: v1.1 release added new darker variants (like VMware's shapes), and a set logical network symbols added - now near 200 symbols in 5 gallery themes.

sample of shapes in gallery

Solution 2:

Inkscape is all you need. For additional clip art graphics ('elements'), use openclipart.org. OpenClipart is actually built into Inkscape these days. There's really no need to resort to non-free apps.

Solution 3:

I decided to move my diagrams to the cloud after I saw Cacoo. It's a very intuitive tool, having a lot of diagram and icons choices and mostly it has options for online collaboration. The only downside is that is a proprietary software :/

Here is my sampleDiagram

Solution 4:

By looking in the Dia official FAQ, I discovered there is a way to extend Dia and its elements set.

Extending Dia

Q: How do I add new shapes/sheets? A: An explanation is given in doc/custom-shapes in the source distribution on how the shape format works. However, Dia now also has the capability of exporting a diagram as a shape. Each collection of shapes (called a sheet) should be kept together in a subdirectory of ~/.dia/shapes, e.g, ~/.dia/shapes/Engines. To make a shape, first design it in Dia. Then export it into your subdirectory. Two files will be generated, a .shape file and a .png file (the icon).

From version 0.90 and up, Dia features a Sheets and Objects editor which will allow you to load the shape into a sheet. It will also update Dia's loaded objects on the fly.

If you still want to do things by hand, update the corresponding sheet file in ~/.dia/sheets, in this case called Engines.sheet. Example contents of a sheet file is:

<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*- xml -*- -->

<sheet xmlns="http://www.lysator.liu.se/~alla/dia/dia-sheet-ns">
  <name>Engines</name>
  <description>Mechanical Engines</description>
  <contents>
    <object name="Engines - Gas">
      <description>A gas engine</description>
    </object>
  </contents>
</sheet>

Each new object should be added to the sheet by adding an object section. Next time you restart Dia, the new objects should show up in the list of sheets.

So I suggest you to add your own shapes to Dia and live happily:)