LinuxForum.Fans
Тема

Три сетевых интерфейса на Ubuntu Server

Автор: A0Z 3 сообщений 3123 просмотров
#194189

Здравствуйте!

На 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

text

# 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

text
#!/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

В данный момент проверить нет возможности (сервер далеко и обесточен), но важно, чтоб заработало сразу. Посмотрите, плиз, в порядке ли настройки? Делаю первый раз.

#194267

Политик по умолчанию не вижу.
http://linuxforum.ru/viewtopic.php?pid=176106#p176106
Кусок (себе соответсвенно меняй $LAN и добавляй... ):

text
# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback и внутренней сети $IPT -A INPUT -i lo -j ACCEPT $IPT -A INPUT -i $LAN -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT $IPT -A OUTPUT -o $LAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений $IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Чистка всех цепочек - недавно стал таким образом чистить:

text

# Сброс всех существующих и очистка персональных цепочек.
CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`

for i in $CHAINS do $IPT -t $i -F done

for i in $CHAINS do $IPT -t $i -X done

#194275
A0Z написал:
Здравствуйте!

На 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
text

# 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

text
#!/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

В данный момент проверить нет возможности (сервер далеко и обесточен), но важно, чтоб заработало сразу. Посмотрите, плиз, в порядке ли настройки? Делаю первый раз.

Честно не о чём.
Лучше почитай тут http://www.calculate-linux.ru/main/ru/iptables.

Войдите или зарегистрируйтесь, чтобы ответить.