Доброго времени суток уважаемые коллеги!
Это мой первый опыт по настройке Ubuntu server.
Вот уже неделю пытаемся решить вопрос настройки маршрутизации на Ubuntu server 10.4.02 LTS, но добиться своими силами требуемого результата не получается.
Просим помощи у сообщества Ubuntu: как при приведенных ниже условиях обеспечить прозрачный доступ к подсети xxx.yyy.91.16/28 ?
----
Итак, есть подсеть с публичными адресами ххх.ууу.91.0/27 .
Шлюз провайдера ххх.ууу.91.1/27
Нужно раздать пользователям публичные адреса из подсети xxx.yyy.91.16/28 .
----
Наше решение:
Для тестирования системы решили настроить систему со следующими параметрами:
etho – IP хх.ууу.91.3/28 – смотрит в инет
eth1 – IP ххх.ууу.91.17/28 – смотрит в локалку
Включаем форвардинг в ядре:
захожу в /etc/sysctl.conf
и раскоментирую:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=1
Далее конфигурируем /etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address xxx.yyy.91.3
netmask 255.255.255.240
network xxx.yyy.91.0
broadcast xxx.yyy.91.15
gateway xxx.yyy.91.1
auto eth1
iface eth1 inet static
address xxx.yyy.91.17
netmask 255.255.255.240
network xxx.yyy.91.16
broadcast xxx.yyy.91.31
Далее создаем правила для iptables, конфигурируя /etc/rc.local:
#!/bin/sh
# Disable forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
#WAN_NET='xxx.yyy.91.3/28'
WAN_NIC='eth0'
#LAN_NET='xxx.yyy.91.17/28'
LAN_NIC='eth1'
# Init nat
#iptables -t nat -F
#iptables -t nat -X
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT
# Init mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
# Init filter
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Open ports on router for server/services
iptables -A INPUT -j ACCEPT -p tcp --dport 21
iptables -A INPUT -j ACCEPT -p tcp --dport 22
iptables -A INPUT -j ACCEPT -p tcp --dport 25
iptables -A INPUT -j ACCEPT -p udp --dport 53
iptables -A INPUT -j ACCEPT -p tcp --dport 80
iptables -A INPUT -j ACCEPT -p tcp --dport 110
# ICMP
iptables -A INPUT -j ACCEPT -p icmp
# UDP
iptables -A INPUT -j ACCEPT -p udp
#
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
iptables -A FORWARD -i $LAN_NIC -o $WAN_NIC -j ACCEPT
iptables -A FORWARD -i $WAN_NIC -o $LAN_NIC -j ACCEPT
#
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# VPN PPTP
iptables -A FORWARD -p gre -j ACCEPT
# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
Результ:
локальный компьютер с IP xxx.yyy.91.18/28 подключенный к eth1 НЕ ПИНГУЕТ шлюз IP xxx.yyy.91.1 .
Почему не понятно …