
У меня следующая настройка:
N computers (static IP) --eth--> Wireless router <--wlan-- M computers (dynamic IP)
- Компьютеры работают под управлением Ubuntu 14.04 или Windows 10.
- Маршрутизатор — Linksys WRT 1900 ACS.
Теперь один из компьютеров M подключен к Интернету и получил статический IP от моего провайдера; и по разным причинам неудобно подключать кабель Ethernet к порту Интернета маршрутизатора. Этот компьютер будет работать под управлением Ubuntu 14.04.
Можно ли настроить сеть таким образом, чтобы весь интернет-трафик, связанный с маршрутизатором, направлялся через компьютер с интернет-подключением? Основное использование N компьютеров во внутренней сети — запуск кода на Github, поэтому им необходимо иметь возможность подключаться по ssh к Github, а также иметь доступ к apt-repositories. (Редактировать)
Я не нашел никаких инструкций по выполнению этого, которые бы полностью соответствовали моей настройке (либо топология сети другая, либо ОС другая), и я не настолько уверен в своих силах, чтобы погружаться в процесс изменения настроек просто для проверки (есть довольно большой штраф, если я сделаю это безвозвратно неправильно). Спасибо!
решение1
Простое руководство:
Вы можете настроить Squid для следующей топологии: на компьютере с Ubuntu одна сетевая карта (wlan0) должна быть подключена к частной локальной сети, а другая (eth0) — к Интернету.
Чтобы настроить прозрачный прокси с помощью Squid, необходимо добавить необходимые правила iptables. Эти правила должны помочь вам начать:
exec sudo -i
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Первая строка включит пересылку
Вторая строка приведет к тому, что все исходящие пакеты с eth0 (интерфейс WAN) будут иметь исходный IP-адрес eth0.
Третья строка перенаправит все входящие HTTP-пакеты (направленные на TCP 80) с wlan0 (интерфейс LAN) на прослушивающий порт Squid (TCP 3128), вместо того чтобы сразу пересылать их на интерфейс WAN.
Теперь вы начинаете установку Squid и изменяете конфигурацию Squid, чтобы превратить его в прозрачный прокси, вы определяете нашу подсеть LAN (например, 10.10.10.0/24) как допустимую клиентскую сеть. Любому трафику, не исходящему из подсети LAN, будет отказано в доступе.
sudo exec -i
apt-get update
apt-get install squid
nano /etc/squid/squid.conf
Простой пример базового содержания:
## Hostname proxy example ##
http_port 3128 transparent
## Define our network ##
acl our_network src 10.10.10.0/24
## make sure that our network is allowed ##
http_access allow our_network
## finally deny everything else ##
http_access deny all
Больше информации:
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
решение2
Вам нужно использовать маршрутизатор таким, каким он был разработан. Я считаю, что необычные соединения могут кардинально изменить качество вашей сети, а стандартная прошивка Linksys не предназначена для действительно необычных конфигураций.
Подключите модем к интернет-порту на вашем Linksys и настройте маршрутизатор для обработки соединения. Сброс настроек к заводским может потребоваться, если вы изменили больше, чем помните, и можете вернуть все обратно.
Если вы подключаете компьютер к модему, а затем к коммутатору на модеме (группа портов), то вам нужно изменить шлюз в локальных настройках маршрутизатора и в DHCP, чтобы он соответствовал IP-адресу вашего компьютера. Это зависит от того, как ваш компьютер справляется с брандмауэром. Если это так, установите fail2ban и посмотрите, как защитить ваши iptables.