Используя сервер Linux как маршрутизатор для сети

Можно придерживаться exim, который является частью стандартной установки.

Видеть Простую Почтовую Систему для Ubuntu? чтобы процедура настроила исходящую почту - Вы хотите настроить "сайт; почта отправлена и получена непосредственно с помощью smtp".

Для включения доставки почты к сценарию через канал отредактируйте/etc/aliases и добавьте что-то как

myscript: |/usr/local/bin/myscript

и создайте/etc/exim4/conf.d/main/00_enable_pipe_transport с этим, удовлетворяет:

SYSTEM_ALIASES_PIPE_TRANSPORT=address_pipe

перезапустите exim (/etc/init.d/exim4 перезапуск), и Вы хороши для движения.

2
задан 12 December 2010 в 11:25
2 ответа

Вот установка, которую я использовал с большим успехом в почти идентичной ситуации к Вашему. Я понимаю Ваши обстоятельства, чтобы быть следующим образом (исправьте меня, если я неправ):

  • У клиентов на LAN есть полный доступ к Интернету. Исходящие соединения от клиентов локальной сети подменяются к общедоступному IP-адресу, данному Вашему серверу/маршрутизатору Вашим ISP.
  • У клиентов на LAN есть полный доступ к Вашему серверу через его соединенный с LAN интерфейс (eth1).
  • Весь входящий интернет-трафик (через eth0) заблокирован, за исключением: (1) трафика, вовлеченного в существующее ранее соединение, (2) трафика, направляющегося в порты TCP 22 или 80, или (3) ICMP проверяют с помощью ping-запросов запросы.
  • Порты TCP 22 и 80 открыты для Интернета (через eth0) и обрабатываются Вашим сервером.
  • Ваш сервер отвечает на запросы ping ICMP из Интернета.
  • Для удобства я предположу, что Ваш диапазон адресов локальной сети 10.10.10.0/24. Измените сценарий ниже по мере необходимости для использования исполнительного адреса.

Во-первых, удостоверьтесь, что передача IP включена. В /etc/sysctl.conf, у Вас должно быть это:

net.ipv4.ip_forward=1

Затем создайте свои правила netfilter согласно следующему сценарию:

#!/bin/sh
IPT=/sbin/iptables

# Flush all chains, to start with a clean slate.
$IPT -F
$IPT -t nat -F

# Set filter Policies. By default, DROP everything.
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# Set server INPUT rules.
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i eth1 -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT

# Set server OUTPUT rules.
$IPT -A OUTPUT -j ACCEPT

# Set router FORWARD rules.
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i eth1 -o eth0 -j ACCEPT

# Masquerade outgoing LAN traffic.
$IPT -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

Это должно быть действительно платформой для здания.

4
ответ дан 3 December 2019 в 09:47

Вам нужен ряд правил как следующее:

$ sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Forward SSH packets destined to port 22
$ sudo iptables -A FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 22 -j allowed
# Forward HTTP packets destined to port 80
$ sudo iptables -A FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 80 -j allowed
# NATing rules for SSH and HTTP
$ sudo iptables -A PREROUTING -d your_public_ip -p tcp -m tcp --dport 22 -j DNAT --to-destination your_private_ip:22
$ sudo iptables -A PREROUTING -d your_public_ip -p tcp -m tcp --dport 80 -j DNAT --to-destination your_private_ip:80

Обратите внимание, что эти правила не могли бы быть полным списком. Однако это поможет Вам начать. Кроме того, не забывайте включать передачу IP!

1
ответ дан 3 December 2019 в 09:47

Теги

Похожие вопросы