в моей компании я был присвоен для создания новой сети, где 1 сервер человечности управляет DHCP для 3 подсетей, позволяет коммуникацию этих подсетей друг между другом и совместно использует соединение с общественностью к подсетям. Все это чуть более чем 1 networkcard. DHCP настроен для соединения по eth0, и подключением с общественностью управляют по виртуальному интерфейсу eth0:1.
Конфигурация/etc/network/interfaces похожа на это:
#The local network interface
auto eth0
iface eth0 inet static
address 10.0.1.1
netmask 255.255.240.0
#The public virtual network interface
auto eth0:1
iface eth0:1 inet static
address 10.0.0.3
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 10.0.0.1
##IP-routing table
# modem + sonicwall
up route add -net 10.0.0.0/24 gw 10.0.0.1 dev eth0:1
up route add -net 10.0.0.0/24 dev eth0:1
# servers
up route add -net 10.0.1.0/24 gw 10.0.1.1 dev eth0
up route add -net 10.0.1.0/24 dev eth0
# printers
up route add -net 10.0.7.0/24 gw 10.0.1.1 dev eth0
up route add -net 10.0.7.0/24 dev eth0
# workstations
up route add -net 10.0.8.0/21 gw 10.0.1.1 dev eth0
up route add -net 10.0.8.0/21 dev eth0
/etc/dhcp/dhcpd.conf:
# Global Configuration
authoritative;
option domain-name-servers 10.0.0.1;
option routers 10.0.0.1;
# ----------------------------------------------------------
# Subnetting
# ----------------------------------------------------------
# Servers
shared-network wonder {
subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.1 10.0.1.255;
option domain-name "servers.wonder.land.com";
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.1.255;
option routers 10.0.1.1;
default-lease-time 86400;
max-lease-time 86400;
host FILESERVER {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.1.2;
option host-name "FILESERVER";
}
host MAILSERVER {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.1.3;
option host-name "MAILSERVER";
}
}
# Printers
subnet 10.0.7.0 netmask 255.255.255.0 {
range 10.0.7.1 10.0.7.255;
option domain-name "printers.wonder.land.com";
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.7.255;
option routers 10.0.1.1;
default-lease-time 86400;
max-lease-time 86400;
host HP9500 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.7.1;
option host-name "HP5900";
}
}
# Workstations
subnet 10.0.8.0 netmask 255.255.248.0 {
range 10.0.8.1 10.0.15.255;
option domain-name "workstations.wonder.land.com";
option subnet-mask 255.255.248.0;
option broadcast-address 10.0.8.255;
option routers 10.0.1.1;
default-lease-time 86400;
max-lease-time 86400;
filename "pxelinux.0";
# XXX
host WSXXX001 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.8.1;
option host-name "WSXXX001";
}
host WSXXX002 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.8.2;
option host-name "WSXXX002";
}
host WSXXX003 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.8.3;
option host-name "WSXXX003";
}
# YYY
host WSYYY001 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 10.0.8.4;
option host-name "WSYYY001";
}
}
}
и наконец, что не менее важно, iptables/etc/rc.local
#Connection between Subnets
iptables -I FORWARD -i eth0 -o eth0 -s 10.0.0.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -d 10.0.0.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -s 10.0.1.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -d 10.0.1.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -s 10.0.7.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -d 10.0.7.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -s 10.0.8.0/21 -j ACCEPT
iptables -I FORWARD -i eth0 -o eth0 -d 10.0.8.0/21 -j ACCEPT
#Connection from local to public
iptables -A FORWARD -i eth0 -o eth0:1 -j ACCEPT
#Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i eth0:1 -j ACCEPT
iptables -A FORWARD -i eth0:1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Block not established connections from public to local
iptables -A FORWARD -i eth0:1 -o eth0 -j REJECT
#Masquerade local network
iptables -t nat -A POSTROUTING -o eth0:1 -j MASQUERADE
Моя проблема состоит в том, что Клиентский наклон связывается между подсетями, ни имеет соединение с внешней стороной. Я проходил много практических руководств, считайте другие проблемы народов, которым дали решение и попробовали много это на прошлой неделе. От машины окон в 10.0.8. X подсетей я могу проверить с помощью ping-запросов каждый клиент до модема 10.0.0.1, но не имею соединения с Интернетом. На машинах Ubuntu я могу только проверить с помощью ping-запросов в той же подсети. Но теперь я в точке, где я не знаю дальше и нуждаюсь в помощи для окончания этого проекта. Я надеюсь, что кто-то может указать на меня в правильное направление для получения этой целой сетевой работы.
Есть несколько проблем с конфигурацией:
10.0.7.0
с сетевой маской 255.255.255.0
вы указали маршрутизатор 10.0.1.1
. Это находится за пределами подсети и означает, что клиенты в этой подсети не смогут дозвониться до маршрутизатора. Для каждой подсети локального интерфейса необходимо добавить отдельный IP-адрес маршрутизатора - например, 10.0.7.1
: вверх ip addr добавьте 10.0.7.1/24 dev eth0
в секции iface eth0
в /etc/network/interfaces.вверх
, в этом случае не понадобятся - маршрутизатор уже будет знать, как до них добраться, т.к. у него будут IP-адреса маршрутизатора.cat /proc/sys/net/ipv4/ip_forwarding
- он должен показывать 1
. Если нет, сделайте echo "1" > /proc/sys/net/ipv4/ip_forwarding
и установите net.ipv4.ip_forward=1
в /etc/sysctl.confНадеюсь, это поможет.
.