1

У меня проблемы с настройкой сервера шлюза Debian. Моя цель:

  • Имея eth1 интерфейс WAN.
  • Имея eth0 интерфейс локальной сети.
  • Разрешите доступ к обоим портам 22 (SSH) и 80 (HTTP) из внешнего мира на шлюзе (SSH и HTTP работают на этом сервере).

Я сделал следующее:

  • Создайте файл /etc/iptables.rules с содержимым:

/etc/iptables.rules:

*nat
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT

*filter
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth1 -j DROP
COMMIT
  • отредактируйте /etc /network /interfaces следующим образом:

/ и т.д. / сеть / интерфейсы:

# The loopback network interface
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/iptables.rules

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

#auto eth1
#allow-hotplug eth1
#iface eth1 inet dhcp

allow-hotplug eth1
iface eth1 inet static
address 217.119.224.51
netmask 255.255.255.248
gateway 217.119.224.49
dns-nameservers 217.119.226.67 217.119.226.68
  • Раскомментируйте правило net.ipv4.ip_forward=1 в /etc/sysctl.conf чтобы разрешить пересылку пакетов.

Статические настройки для eth1, такие как IP-адрес, полученный от маршрутизатора (который я хочу заменить); Я просто скопировал это.

  • У меня есть (windows) DNS + DHCP-сервер по IP-адресу 10.180.1.10, который назначает IP-адрес 10.180.1.44 на eth0. То, что делает этот сервер, не очень интересно, он только отображает доменные имена в нашей локальной сети и назначает один статический ip шлюзу.

  • What works: на самом шлюзе могу пинговать 8.8.8.8 и google.nl . Так что это хорошо.

  • What does not work: (1) Каждая машина, подключенная к eth0 (косвенно через коммутатор), не может пропинговать ip или домен. Поэтому я думаю, что шлюз не может быть найден. (2) Также, когда я настраиваю свой linux-компьютер (ноутбук) для использования статического ip 10.180.1.41, маски и шлюза (10.180.1.44), я не могу пропинговать ip или домен.

Это означает, что, возможно, мои iptables неверны или неправильно загружены. Или мне, возможно, придется настроить DNS/DHCP на моем компьютере с Windows. Я не перезагружаю сетевую машину Windows, перезапускаю службы DNS/DHCP, я должен это сделать?

1 ответ1

1

Вы также должны разрешить трафик FORWARD в правилах брандмауэра, то есть разрешать пакетам из eth0 переходить в eth1 и обратно. Что-то вроде

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

И помните: traceroute ваш друг для устранения неполадок маршрутов ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .