Здравствуйте!
На Ubuntu Server есть три сетевые карты.
Eth0 смотрит в интернет с постоянным IP XX.XX.XX.XXX, eth1 – на роутер, который раздает инет пользователям, в eth2 – Windows-сервер терминалов.
Необходимо настроить сеть таким образом, чтобы:
1. На Ubuntu Server в инете работал ssh, apach, sambа.
2. Из инета и можно заходить в Windows на eth2 по rdp, а из терминалов на eth2 – в инет.
3. Пользователи подсети на eth1 использовали инет, сервисы Ubuntu, Windows на eth2 по rdp.
И больше ничего.
Почитав инет, написал такие файлы:
Файл interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
allow-hotplug eth0
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
auto eth2
iface eth2 inet static
address 10.0.1.0
netmask 255.255.255.0
post-up /etc/nat
Файл nat
#!/bin/sh
# Включение форвардинга
echo 1 > /proc/sys/net/ipv4/ip_forward
# какой-то модуль
modprobe iptable_nat
# Очистка таблиц
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Разрешаем трафик на loop-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем доступ из внутренних сетей наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT
# Разрешаем доступ из внутренней сети eth1 в eth2
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
# Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.1.0/24 -j MASQUERADE
# Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Разрешаем входящие подключения на 3389
iptables -A FORWARD -i eth0 -p tcp --dport 3389 -j ACCEPT
# Форвардинг 3389
iptables -t nat -A PREROUTING -p tcp -d XX.XX.XX.XXX --dport 3389 -j DNAT --to-destination 10.0.1.0:3389
iptables -t nat -A POSTROUTING -p tcp --dst 10.0.1.0 --dport 3389 -j SNAT --to-source XX.XX.XX.XXX
# Запрещаем доступ снаружи во внутренние сети
iptables -A FORWARD -i eth0 -o eth1 -j REJECT
iptables -A FORWARD -i eth0 -o eth2 -j REJECT
В данный момент проверить нет возможности (сервер далеко и обесточен), но важно, чтоб заработало сразу. Посмотрите, плиз, в порядке ли настройки? Делаю первый раз.