Linux глазами хакера еще рановато, а вот «FreeBSD Подробное руководство» Майкла Лукаса очент советую. Разжевывается для новичков и тут же даются примеры для практического применения. Так же советую иметь на виртуалке FreeBsd или debian, или ubuntu server — только обязательно без графической оболочки(GUI).
Для практики попробуйте настроить:
1.NAT gateway (интернет шлюз, желательно средствами iptables, pf) — но это на виртуалке врядли сразу получится корректно, особенно если Ваш ПК к провайдеру напрямую подключен. Но с файрволлами разобраться обязательно.
2. LAMP (разобраться, что означает эта аббревиатура:) — туда же сразу можно подвесить блог на wordpress, сразу же и нотировать туда будете.
3. Очень неплохо было бы проработать маршрутизацию, опять же средствами встроенных файрволлов линукса или freebsd (взависимости от того, что выберете). Но на одной машине это сложновато. Например: Если компьютер из подсети хххх.хххх.10.0 стучится в подсеть хххх.хххх.25.0, то перенаправлять его ну, например на гугл.
4. Попробовать настроить почтовый сервер средствами exim или Communigate(первый популярный в виду своей функциональности и бесплатности, второй очень нагляден для новичков и позволяет разобраться во всех «фичах» почты). Эту задачу решать после предыдущих, когда будете хорошо ориентироваться в протоколах.
Если заданий мало или надо чтонить полегче/посложнее — стучитесь в личку, подскажу.