Приступаем к самой пугающей меня части, аттракцион невиданной щедрости — раздача интернета всем желающим… моим устройствам, т.е. ноуту и компу.
Первое что сделал это поставил dhcp сервер. Тут всё несложно
sudo aptitude install dhcp3-server
простейшая настройка, которую как всегда подсказал гугл. Адреса раздаются, всё ок.
Дальше переткнул провайдеровскую сетевуху с компа в серверок. Поехали…
Инернет у нас через впн, так что первым делом его. Тут проблем никаких благодаря скрипту выложенному на местном форуме, который является адаптацией корбиновского (скрипт кстати помимо пошаговой простой настройки VPN ещё настраивает получение маршрутов по DHCP, дефолтно у меня они не подхватывались). Дальше сложнее, поскольку я не имею ни малейшего понятия о настройке фаерволла вообще и NAT в частности в линуксе, то единственный вариант — гуглить, а чтобы получить доступ к нему был быстренько установлен и запущен squid
sudo aptitude install squid3
Прокси в бразуере указан и, слава IT богам, есть возможность серфить. Потолкавшись туда/сюда, между ufw, iptables и нежеланием всё это понимать ради разовой настройки я всё-таки настроил хоть и очень базово NAT, конспективно это выглядит так:
0. Исходные данные:
eth0 — интерфейс на домашнюю сеть
eth1 — интерфейс на сеть провайдера
ppp0 — интерфейс в интернет, появляющийся после поднятия VPN
1. /etc/sysctl.conf — расскоментил net.ipv4.ip_forward=1 (разрешаем хождение пакетов между интерфейсами)
2. sudo iptables -t nat -A POSTROUTING -o eth1 -d 10.0.0.0/8 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo iptables -A INPUT -i lo -j ACCEPT
(первая команда НАТ’ит в локалку, вторая в интернет, третья разрешает трафик на loopback-интерфейсе)
3. iptables-save > /etc/iptables.up.rules
(сохранил правила)
4. В /etc/rc.local перед exit 0 добавил:
pon my-inet
iptables-restore < /etc/iptables.up.rules
(поднимаю впн и восстанавливаю правила фаерволла при загрузке сервера)
Reboot. Алилуя, интернет есть. При чем есть везде, и на обоих компьютерах и на ноутбуке, жаль конечно что он у меня немолодой и я бы его с удовольствием заменил например на LENOVO IDEAPAD Z560-380A-BK1, и на телефоне, в общем на всё : ) Знаю, что тут ещё донастраивать более чем полно и что я ничего не закрыл снаружи, но инет есть и это главное на текущий момент : )
Дополнения, указания на ошибки, подсказки и т.п. как всегда выслушиваются и принимаются к сведению : )
Для домашнего сервера стоит попробовать ufw
Простой, понятный, настраивается почти галочками.
Вроде такого: обращение из этой подсети в эту по порту такому разрешено.
Обращение из этой подсети в эту пропускать через NAT…
Posted by Ivan Kravchenko
Link | Июнь 14th, 2010 at 13:39
сквид фтопку, раздача идёт через iptables
-sudo aptitude install squid3
зачем нат в локалку?
-sudo iptables -t nat -A POSTROUTING -o eth1 -d 10.0.0.0/8 -j MASQUERADE
зачем разрешать то, что не запрещено?
-sudo iptables -A INPUT -i lo -j ACCEPT
Posted by Mitrandir
Link | Июнь 14th, 2010 at 14:59
Не совсем понятно зачем squid.
У меня такое же счастье работает без оного. Может и Вам стоит попробовать? Ну или объясните, зачем оно надо.
Posted by wanderlust
Link | Июнь 14th, 2010 at 15:02
Тем кто не понял зачем squid, объясняю : ) Он был нужен исключительно на этапе когда не было настроенного NAT’а, и интернет был только на сервере, а гуглить мне надо было с домашнего компа. После появления инета на клиентах, squid был благополучно удален : )
Posted by Amorph
Link | Июнь 14th, 2010 at 15:09
Mitrandir, NAT в локалку нужен для доступа к локальным ресурсам, без него даже DNS сервер был недоступен, который находится в 10.0.0.0/8. Ну и там же локальные ftp сервера и прочее.
А sudo iptables -A INPUT -i lo -j ACCEPT наверное действительно не нужно, просто видел в одном конфиге и подумал, что лишним не будет : )
Posted by Amorph
Link | Июнь 14th, 2010 at 15:14
4. В /etc/rc.local перед exit 0 добавил:
pon my-inet
Не кошерно. man interfaces
Posted by bosha
Link | Июнь 14th, 2010 at 15:56
>Инернет у нас через впн
А mtu patch discovery кто настраивать будет? в vpn mtu больше чем в эзернете но хосты за натом этого не знают, потому надо добавить такое правило:
-A FORWARD -p tcp -m tcp —tcp-flags SYN,RST SYN -j TCPMSS —clamp-mss-to-pmtu
Posted by lexa
Link | Июнь 14th, 2010 at 16:53
А я вот тут http://school-adminlinux.blogspot.com/ прочитал мне помогло пока работает
Posted by tatar
Link | Декабрь 20th, 2011 at 12:16