IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   из локалки в I-net, помогите настроить (http://www.imho.ws/showthread.php?t=84070)

CEO 18.04.2005 22:42

из локалки в I-net, помогите настроить
 
Имеется компьютер с Linux RedHat 7.1 без графической оболочки. Этот компьютер имеет два сетевых интерфейса -- eth0 (192.168.1.1), который подключен к локальной сети и eth1(x.x.x.x), который подключен через провайдера к Internet. Нужно чтобы все компьютеры в локальной сети смогли через этот компьютер выходить в Internet. На самом компьютере с Linux я свободно пингую адреса Internet, например 81.19.66.167 и могу загрузить сайты, например ro.ru броузером lynx.
Я думал, что можно сдалать доступ для компьютеров локальной сети такими командами:
ipchains -A input -i eth0 -s 192.168.1.0 -j ACCEPT
ipchains -A output -i eth0 -s 192.168.1.0 -j ACCEPT
ipchains -A forward -i eth1 -s 192.168.1.1 -j MASQ
Однако не получается в полной мере. C компьютера из локалки я так же могу пинговать 81.19.66.167 и другие адреса Internet'a, но не могу загрузить ни одного сайта в броузер.
Подскажите что еще нужно сделать, если вообще можно для этого использовать ipchains, ато мой знакомый говорит что вообще такой команды не знает а надо использовать NAT или squid...

Saruman 18.04.2005 23:42

Using Linux iptables or ipchains to set up an internet gateway / firewall / router for home or office

CEO 19.04.2005 01:47

Классный мануал! По нему сделал такие настройки:
ipchains -F forward
ipchains -F output
ipchains -F input
ipchains -A input -j ACCEPT -p all -s localhost -d localhost -i lo
ipchains -A output -j ACCEPT -p all -s localhost -d localhost -i lo
ipchains -A input -j ACCEPT -p all -d x.x.x.x -i eth1
ipchains -A output -j ACCEPT -p all -d x.x.x.x -i eth1
ipchains -A input -j ACCEPT -p all -d 192.168.1.0/24 -i eth0
ipchains -A output -j ACCEPT -p all -d 192.168.1.0/24 -i eth0
ipchains -A forward -s 192.168.1.0/24 -j MASQ
ipchains -A forward -i eth1 -j MASQ
После этого все заработало. А мне даже и не пришло почему-то в голову искать в данном случае англоязычные мануалы. По русским хавту прошелся но видимо там не так понятно ражевано было...

Можно ли все эти команды запихать в rc.local, чтобы при последующей загрузке не нужно было бы набивать все заново?

Saruman 19.04.2005 04:06

Вообще в редхате настройки сервиса должны сохраняться командой
service iptables save
По крайней мере последние версии редхата так работают, с 7 дела не имел - проверь. Как вариант - /etc/init.d/iptables save

PS: если все же хочешь руками сохранить - то это делается в файле /etc/sysconfig/iptables, в гугле легко найдешь кучу примеров (первый попавшийся)

noname 19.04.2005 11:35

все это конечно хорошо , но стоит разобраться что эти правила делают ... и просканировать свои реальные ip , может не все прикрыто.

K0riN 19.04.2005 19:41

2 CEO
Если у твоих клиентов все дело ограничится серфом по вебу, то поставь и настрой Squid - имхо, самый класный прокси-сервер(_http://squid.opennet.ru).

CEO 19.04.2005 21:24

iptables --это наверное замена ipchains для новых ядер (выше 2.2).
Для ipchains оказывается есть специальный файл: /etc/sysconfig/ipchains , в него значит и запишу все настройки.
Как я понимаю, данные команды делают следующее:
ipchains -A input -j ACCEPT -p all -d x.x.x.x -i eth1 -- разрешает все входящие пакеты по любому протоколу (tcp, udp, icmp) поступать на адрес x.x.x.x, закрепленный за интерфесной платой eth1
ipchains -A input -j ACCEPT -p all -d 192.168.1.0/24 -i eth0 -- тоже самое но для адресов внетренней сети через интерфесную плату eth0.
ipchains -A forward -s 192.168.1.0/24 -j MASQ
ipchains -A forward -i eth1 -j MASQ -- реализуют перенаправление и маскировку пакетов.
Тоесть получается, что любой компьютер из Интернета и из Локальной сети могут обмениваться между собой любой информацией по любому протоколу. Опасны ли эти настройки для самого сервера? Какими командами можно повысить его безопасность?
Squid у меня есть, но я не уверен что он будет науилучшим решением моих проблем. Чем его использование может быть лучше? Пользователи сети хотят не тлько грузить сайты в броузер но и использовать ICQ, играть по Internet в какие-то игры.

K0riN 19.04.2005 22:13

iptables - это полная и более гибкая замена для ipchains для ядер 2.4.х и выше.

Попробуй прописать своим клиентам, которые сидят на маскараде, DNS провайдера и попробуй с них сконнектится на какой-нибудь сайт. Были такие бока с таким примерно правилом:
/sbin/ipchains -A forward -i eth1 -s $LOCAL_IP -j MASQ
Для $LOCAL_IP не открывались сайты, попробывал подставить ДНС прова - все пошло...

Кстати, Squid нормально пускает в асину, только не 5190 порту, а по 443 - HTTPS.

CEO 19.04.2005 23:18

Цитата:

noname:просканировать свои реальные ip , может не все прикрыто.
Просканировал и удивлению моему не было предела. Не-то чтобы "что-то не прикрыто", а совсем все открто -- все порты подряд!
K0riN: Да я так и сделал, интернет с клиентсских машин в локальной сети нормально теперь работает. Но сдается мне теперь что сделал я это фигово с точки зрения безопасности сервера. squid не хотелось бы использовать, потому что с ним нужно много возиться а в результате еще и возможности пользователей будут урезаны.
Какие правила нужно еще добавить, чтобы нельзя было кому-то из сети получить управление сервером?

Saruman 20.04.2005 04:05

CEO
По-хорошему тебе нужно открывать наружу не все порты, а только те, что действительно необходимы. Соответственно, вместо одного правила, открывающего все подряд, тебе нужно записать набор правил, открывающих _только_ нужные сервисы. Все остальное должно быть закрыто.

CEO 20.04.2005 09:53

Понятно. Вот только заранее ведь не известно что за порт нужен какой-нибуть игре, например. Я собираюсь оставить udp 53, tcp 25, tcp 110, tcp 143, tcp 20, tcp 21, tcp 80. Какие порты нужны еще в любом случае ?

noname 20.04.2005 10:26

Цитата:

Понятно. Вот только заранее ведь не известно что за порт нужен какой-нибуть игре, например. Я собираюсь оставить udp 53, tcp 25, tcp 110, tcp 143, tcp 20, tcp 21, tcp 80. Какие порты нужны еще в любом случае ?
какова цель данного шлюза ?

если просто дать инет прользователям локальной сети , и на нем нет никаких сервисов, то без проблем надо прикрыть все ,желательно так чтоб ты локальный комп мог установить соединение с кем угодно , но никто не мог бы подключится к твоему шлюзу.


Часовой пояс GMT +4, время: 19:50.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.