Мы используем shorewall на сервере Linux в нашей локальной сети. Клиентские машины с Windows XP.
Когда я пытаюсь подключиться к удаленной машине (удаленная машина имеет статический IP-адрес) с моей машины с Windows XP, shorewall удаляет статический IP-адрес. Я написал исключение из правил Shorewall, хотя в Shorewall пропадает IP. См. Следующее сообщение журнала:
Apr 28 16:13:46 system1 kernel: Shorewall:all2all:DROP:IN=eth1 OUT=eth0 SRC=192.168.21.12 DST=<Static IP> LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=62316 DF PROTO=TCP SPT=1822 DPT=1723 WINDOW=65535 RES=0x00 SYN URGP=0
Правило исключения, которое я написал на Shorewall:
ПРИНЯТЬ: info loc fw tcp 1723
Что я делаю не так?
Фрагмент оператора журнала, показывающий «Shorewall: all2all: DROP», предполагает, что пакет не перехватывается вашим записанным оператором ACCEPT, потому что правило all2all DROP по умолчанию (находится в policy
файл) запускается.
В :info
Часть правила ACCEPT - это формат, с которым я не знаком, и, вероятно, это может быть причиной того, что это правило не работает. Предлагаю использовать:
#ACTION SOURCE DEST PROTO DEST SOURCE
# PORT
ACCEPT loc fw tcp 1723
Однако зона «fw» (по умолчанию) является самим брандмауэром и поэтому будет принимать пакеты только в том случае, если местом назначения является IP-адрес самого брандмауэра, а не другие клиенты в других сетях. Это может быть еще одной причиной, по которой это правило не работает должным образом. Вы можете подумать о замене 'fw' на имя зоны, содержащей целевые хосты.