Назад | Перейти на главную страницу

Shorewall - Разрешить удаленному клиенту пинговать Интернет

Мой сетевой адрес 192.168.5.0. Моя хост-машина 192.168.5.1 и моя клиентская машина 192.168.5.2. В настоящее время мой клиент не может использовать Интернет-браузер и даже пинговать Интернет. Клиент может пинговать хост-машину в локальной сети.

Как я могу разрешить моему клиенту пинговать Интернет через терминал и ограничить его использование браузера или порта 80 с помощью Shorewall? Ниже мои файлы конфигурации:

/etc/shorewall/interfaces file:

#ZONE     INTERFACE
net      eth0

loc      eth1

Интерфейс eth0 - это тот, который подключен к Интернету, а eth1 подключен к локальной сети.

/etc/shorewall/zones file:

#ZONE    TYPE
fw       firewall
net      ipv4
loc      ipv4

/etc/shorewall/policy file:
#SOURCE     DEST     POLICY     LOGLEVEL
loc         net      ACCEPT
net         all      DROP       $LOG_LEVEL

all         all      REJECT     $LOG_LEVEL

/etc/shorewall/rules file:

?SECTION  ALL
?SECTION  ESTABLISHED
?SECTION  RELATED
?SECTION  INVALID

?SECTION UNTRACKED

?SECTION NEW


DNS(ACCEPT)     $FW    net

SSH(ACCEPT)     loc    $FW

PING(ACCEPT)    loc    $FW

PING(DROP)      net    $FW


ACCEPT    $FW    loc    icmp

ACCEPT    $FW    net    icmp

Любая помощь будет очень высоко ценится.

Я бы порекомендовал вам проверить эту страницу, если вы еще этого не сделали:

http://www.shorewall.org/two-interface.htm

Основы объясняются здесь примерами.

В зависимости от вашей версии есть также образцы файлов, из которых вы можете копировать и настраивать:

 /usr/share/doc/shorewall/examples/two-interfaces

На первый взгляд мне кажется, что не хватает следующего:

  1. Маскарадинг / NAT (snat или masq файл в зависимости от вашей версии).
  2. IP_Forwarding=ON в shorewall.conf.
  3. Служба Shorewall запускается автоматически при загрузке.

Дополнение 1: Пожалуйста, также проверьте правильность написания для макросов Shorewall, которые вы используете. Например:

Ping (and not PING)

Дополнение 2: У вас есть политика по умолчанию для локального доступа в Интернет, все разрешено:

/etc/shorewall/policy file:
#SOURCE     DEST     POLICY     LOGLEVEL
loc         net      ACCEPT

Это означает, что по умолчанию все, от локальной сети до Интернета, будет разрешено через брандмауэр. Теперь, если вы хотите что-то заблокировать, скажем, порт 80, вам нужно будет поместить правило блокировки поверх. Например:

HTTP(DROP)    loc    net

И вам не нужно никаких дополнительных разрешающих правил для пинга с локальной сети на сеть.