Squid. Pop3/SMTP. Firewalld based Linux.

Imagine that you have installed Squid on firewalld based system.
First interface (eth0) connected into internal network and second (eth1) to internet.
To allow client browsing you can use http_access, but if you want to enable client to use for example pop3 or smtp (which squid is not support) the only way is sNAT.

I can find how to enable NAT for all ports (Masquerading, snat) and how to nat port with iptables, but cannot find how to limit it by ports trough firewalld.
Most of Linux admins advice to downgrade to iptables. Here is how to do that with firewalld:

Capture network traffic from Windows without Netmon or Wireshark.

Here is a way for traffic capture from Windows Computers without netmon or wireshark.
Of course you can install any traffic sniffer in minute but assume that you have a production server and policy does not allow to install additional soft on it.

Like tcpdump in Linux, You can run following program from cmd.exe

1

Then in Network Monitor open generated ETL file.
You should set “Windows” parser to make your data readable.
2
3

 

P.S. MS does not recommend to install Wireshark because it create filter on NDIS.

Как собрать Unicast кластер с одним интерфейсом и почему с двумя интерфейсами нужно два Шлюза.

Начнем с того, что вообще рекомендуется создавать multicast кластера, в них легче понять, что происходит на сетевом и логическом уровнях. Но в этой статье мы рассмотрим именно Unicast. У меня нет умных свичей в моем стенде, на котором я бы мог вам продемонстрировать работу multicast кластера, а без них это будет скучно и не информативно.

Сейчас мы попробуем собрать unicast nlb в Windows 2008 R2 Sp1.

Имеем:

L01.test.lan 10.0.173.200

L02.test.lan 10.0.173.201

И мой компьютер в качестве клиента с ip 10.0.205.85 (т.е. я буду за шлюзом).

Начнем:

  1. Откроем powershell.
  2. Import-Module servermanager (импортируем модуль сервер менеджера)
  3. Add-WindowsFeauture NLB (Устанавливаем NLB)
  4. Откроем консоль NLB Manager.
  5. Cluster>New

1 (1)

6.       Подключимся к первой будущей ноде NLB L01 и нажмем на NEXT

2

  1. В окне параметров хоста выбираем номер хоста и жмем на NEXT
  2. Что бы присвоить кластеру IP нажимаем на Add

3

  1. Вводим IP, нажимаем на ОК и на NEXT.
  2. Теперь мы выберем Unicast, дадим имя кластеру и нажмем на NEXT

4

  1. Выберем порты, которые будут работать в NLB (на нашем тестовом стенде я оставлю все порты) и нажмем на Finish.
  2. Теперь в консоли должен появиться кластер, который мы с вами создали, самое время добавить вторую ноду, нажимаем на кластер правой кнопкой и выбираем “add host to cluster”

5

13.   Напишем хост который нам нужно добавить (в нашем примере это будет L02), сделаем Connect, и нажмем на NEXT, определим настройки и нажмем на Finish.

6

7_

Как работает это на уровне сети я вам могу рассказать, но это будет отдельная тема, и скорее это должен быть не пост в блоге, а живая видео конференция.

 

Unicast кластер не будет работать при некоторых условиях, если они запущены в виртуальной среде, например, когда ноды работают на разных ESX серверах (пусть даже в одной порт группе на одном свиче) в такой конфигурации работать не будут.

В такой ситуации можно добавить второй интерфейс. Кстати говоря, на нем не обязательно устанавливать Dedicated IP Address, можно оставить этот интерфейс без адреса.

Итак, вкратце будет выглядеть так:

  1. Откроем консоль NLB Manager.
  2. Cluster>New.
  3. Подключимся к первой будущей ноде NLB L01 и нажмем на NEXT.
  4. Теперь выберем кластерный интерфейс интерфейс (в нашем примере он VIP,как видно на картинке, интерфейс получил адрес по средством механизма APIPA), жмем NEXT.

8

  1. На сообщение, что интерфейс должен иметь статический адрес, жмем ОК и на NEXT.
  2. Жмем на NEXT не указывая Dedicated IP Address и соглашаемся с сообщением которое говорит, что без этого адреса кластерный интерфес не сможет делать исходящих соеденений.
  3. Указываем IP кластера (VIP-virtual IP)
  4. Даем ему имя, и жмем на NEXT.
  5. Жмем на Finish.
  6. Добавить вторую ноду, я думаю у вас получиться, там все, как в первом примере.

У нас получилось, что ноды имеют следующую конфигурацию IP:

L01

Windows IP Configuration

Ethernet adapter VIP:

Connection-specific DNS Suffix  . :

Link-local IPv6 Address . . . . . : fe80::f881:943b:ede8:d218%14

IPv4 Address. . . . . . . . . . . : 10.0.173.208

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . :

Ethernet adapter LAN1-VLAN173:

Connection-specific DNS Suffix  . :

Link-local IPv6 Address . . . . . : fe80::a513:7d61:62ad:cfd7%12

IPv4 Address. . . . . . . . . . . : 10.0.173.200

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 10.0.173.254

 

L02

Ethernet adapter VIP:

Connection-specific DNS Suffix  . :

Link-local IPv6 Address . . . . . : fe80::b091:a897:6c60:7fdf%14

IPv4 Address. . . . . . . . . . . : 10.0.173.208

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . :

Ethernet adapter LAN1-VLAN173:

Connection-specific DNS Suffix  . :

Link-local IPv6 Address . . . . . : fe80::6dfa:8d08:b687:77b4%12

IPv4 Address. . . . . . . . . . . : 10.0.173.201

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 10.0.173.254

Как вы, наверное заметили, кластреный интерфейс не имеет шлюза, а с введенной политикой в Windows 2008 R2 Strong Host Model кластер не сможет использовать шлюз другого нтерфеса, если source адрес не совпадает.

Соответственно клиенты из другой подсети не смогут работать с кластером.

9

 Для этого либо добавим шлюз руками, либо сделаем небольшой твик, а точнее поменяем сетевую модель, вернув ее на ту, что была в Windows 2003:

netsh interface ipv4 set interface vip weakhostsend=enabled

После этого все должно заработать

10

Для более точного понимания сетевых моделей рекомендую прочитать вот эту статейку.

Век живи – век учись, всем удачи!