В корень! | Arduino | Мини-ПК | Электрика | Меры | Цитатник | Мой календарь | Прочее ... | Time SRV | В т.ч. НДС 18%*
Немного запоздало, но мне кажется все-таки актуальная тема. У многих дома есть интернет и не один компьютер. Или, может, в офисе простая дешевая коробочка не справляется с нагрузкой. Встает вопрос о поднятии нормального шлюза.
На самом деле это проще простого! Обычно на компьютере, который вскоре станет шлюзом, стоит 2 сетевухи.
Итак, что мы имеем:
На наш сервер устанавливаем Ubuntu Server.
Для начала на нашей свежеустановленной системе разрешаем форвардить IP адреса. Для этого редактируем файлик /etc/sysctl.conf. Там ищем строчку типа:
# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1
И убираем # перед строкой net.ipv4.ip_forward=1. И после перезагрузки наша система начнет форвардить все наши IP.
Далее настраиваем интерфейсы, а точнее правим файлик /etc/network/interfaces.
sudo nano /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Internet auto eth0 iface eth0 inet static #указываем сдесь, что адрес статический address 10.28.129.186 #ваш статический внешний IP network 0.0.0.0 netmask 255.255.255.0 #маска сети broadcast 255.255.255.255 gateway 10.208.128.1 #шлюз, если интернет не через pppoe hwaddress ether 00:11:6B:3F:10:39 #меняем MAC адрес сетевухи, если есть привязка к маку и вы заменили сетевушку. если не надо, то можно закоментить строчку. post-up iptables-restore > /etc/iptables.up.rules #поднимаем правила iptables, при подъеме интерфэйса # Lan auto eth1 iface eth1 inet static #указываем тут статический адрес address 192.168.1.1 #IP адрес сервера в вашей сети network 192.168.1.0 netmask 255.255.255.0 #маска подсети broadcast 192.168.1.255
Если настройки интернет соединения вы прописываете вручную, то нужно еще прописать DNS сервера чтобы все заработало. Для этого редактируем файлик resolv.conf:
sudo nano /etc/resolv.conf
И вписываем туда свои DNS:
nameserver 10.28.129.21 nameserver 10.28.129.14
Далее создадим правила для iptables:
sudo nano /etc/iptables.up.rules
И вписываем туда вот такие строчки:
# Generated by iptables-save v1.4.1.1 on Sat Jun 6 23:49:49 2009 *filter :FORWARD ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A FORWARD -s 192.168.1.0/255.255.255.0 -o eth0 -j ACCEPT -A FORWARD -m conntrack -d 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT --ctstate ESTABLISHED,RELATED COMMIT # Completed on Sat Jun 6 23:49:49 2009 # Generated by iptables-save v1.4.1.1 on Sat Jun 6 23:49:49 2009 *mangle : PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] : POSTROUTING ACCEPT [0:0] COMMIT # Completed on Sat Jun 6 23:49:49 2009 # Generated by iptables-save v1.4.1.1 on Sat Jun 6 23:49:49 2009 *nat :OUTPUT ACCEPT [0:0] : PREROUTING ACCEPT [0:0] : POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.1.0/255.255.255.0 -j MASQUERADE COMMIT # Completed
Сохраняем. Вот в принципе и все. Перезагружаем настройки сети:
sudo /etc/init.d/networking restart
И обновляемся:
sudo apt-get update && sudo apt-get upgrade
Далее, чтобы не париться с подключением новых компов в сети, нам понадобится еще DHCP сервер. Ну и для самого удобства будем маскировать и DNS. Для этого устанавливаем прекрассную утилиту, которая включает в себя как DHCP сервер, так и маскирует DNS. Называется dnsmasq. Устанавливаем:
sudo apt-get install dnsmasq
Редактируем конфиг:
sudo nano /etc/dnsmasq.conf
Правим под свои нужды. Камменты к каждой строчке исчерпывающие. Остановлюсь на основных моментах. Мой конфиг:
# Add domains which you want to force to an IP address here. # The example below send any host in doubleclick.net to a local # webserver. address=/veo-server/127.0.0.1 address=/veo-server/192.168.1.1 # If you want dnsmasq to provide only DNS service on an interface, # configure it as shown above, and then use the following line to # disable DHCP on it. no-dhcp-interface=eth0 # This is an example of a DHCP range where the netmask is given. This # is needed for networks we reach the dnsmasq DHCP server via a relay # agent. If you don't know what a DHCP relay agent is, you probably # don't need to worry about this. dhcp-range=192.168.1.50,192.168.1.150,255.255.255.0,12h # Override the default route supplied by dnsmasq, which assumes the # router is the same machine as the one running dnsmasq. dhcp-option=3,192.168.1.1
Сохраняем, и перезапускаем dnsmasq.
sudo /etc/init.d/dnsmasq restart
И теперь на eth1 подключаем свич или точку доступа и коннектимся. Все настройки будут выдаваться автоматом.
Удачи! =)
Настраиваем WEB-сервер
Apache2 + PHP5 + MySQL + phpMyAdmin
Пример для виртуальных хостов
Последовательное соединение проводников![]() Параллельное соединение проводников ![]() |
![]() ![]() |
2:5020/1209.12@FidoNet
Copyright © 2004 - 2025 MSK VAO-IX GROUP • ЗАО "Сумма технологий" - Сделано двумя руками!