1 июл. 2010 г.

Скрипт для расшаривания интернета с одного компьютера на другой

Суть работы скрипта:
Есть компьютер-шлюз, у которого две сетевые карты - одна смотрит в интернет, а вторая в "сеть", состоящую из двух компьютеров - хоста и шлюза. Задача - раздавать интернет с шлюза компьютеру-хосту.
Код скрипта, выполняющего эту задачу:

Скрипт нужно запускать 2 раза и на хосте и на шлюзе, с двумя различными параметрами: --host и --gateway. Но перед началом работы возможно потребуется произвести некоторые изменения:
  1. Указать верное имя сетевой карточки хоста, которая смотрит в сеть "хост<->шлюз", в переменной ECARDINHOST
  2. Указать верное имя сетевой карточки шлюза, которая смотрит в сеть "хост<->шлюз" - переменная ECARDINGW_2HOST
  3. Указать верное имя карточки шлюза, которая смотрит в интернет - ECARDINGW_2INTERNET
  4. Если есть необходимость - поменять маску подсети и IP адреса хоста и шлюза для сети "хост<->шлюз" - NETMASK, IP_HOST и IP_GW соответственно.
Работоспособность скрипта была проверена на двух системах - Archlinux и Ubuntu 10.04. На других системах возможно может потребоваться опустить интерфейс, прежде чем устанавливать IP-адрес и маску подсети или остановить сервис network-manager, чтобы не мешал.