LINUX.ORG.RU
ФорумAdmin

Умц-умц-умц


0

0

Ситуация: Два компа: Первый с двумя сетевухами, второй с одной. Один кабель от провайдера.Один кросс(сам обжимал:) На компах соответственно openSUSE 10.2 и Mandriva 2007.1 , что в принципе неважно. В первый комп вставлен кабель с Ынтырнетом, в котором привязка по мак-адресу. В тот же комп вставлен кросс, второй конец которого вставлен во второй комп. В сети провайдера у меня статический внутренний ИП, маска 255.255.240.0, два ДНСа, шлюз. Какие мне выставить настройки на этих двух компах, чтобы со второго выходить в инет через первый? Я пробовал по-разному, но почему-то не получалось, в опенСУСЕ ставил галочку, чтобы она работал как маршрутизатор, отключал фаервол, единственное чего я добился - они друг друга пингуют. Я ставил им обоим статические ипы вроде 192.168.0.2 и 192.168.0.3 с маской 255.255.255.0, ставил у второго первый шлюзом, все равно не получается. Помогите ламеру:)

iptables-tutorial

Deleted
()

В SuSE запихай кабель от прова, ткни галку на Masquerade, пропиши ип, что дал пров, на 1-ой сетевой. На второй сетевой (что кроссом уходит на 2-ой комп) пиши ип 192.168.2.1 а для второго компа пропиши ип 192.168.2.2 и шлюз пиши как 192.168.2.1. Остаётся только на SuSE правильно роутинг прописать. Всё.

sda00 ★★★
()
Ответ на: комментарий от sda00

А почему 0.1 и 0.2 не работали, а 2.1 и 2.2 заработают? Я ща не дома, проверю када вернусь домой) И что значит настроить роутинг? я там галочку ставил в маршрутизации - не пахало:)

В любом случае спасибо, тыц-тыц-тыц:)

selezian
() автор топика

Вопрос реально "часто задаваемый". Я по старинке, через командную строку такие вещи решаю.

Про iptables-tutorial правильно сказали, хорошая вещь, прочитать один раз стОит. Отключать фаервол категорически не надо, он тебе в данном случае друг, товарищ и брат.

На внутреннем компе ничего, кроме указания первого шлюзом, делать не надо.

На шлюзе (от рута):

iptables -P FORWARD DROP

# по умолчанию все резать

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

# установленные соединения пропускать

iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT

# то, что идет с внутреннего компа, тоже пропускать. Подсеть добавить по вкусу.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

# заменять обратный адрес на твой собственный (в принципе, можно и -j SNAT --to-source твой.ай.пиш.ник)

Если заработает, то посмотреть, где в opensuse хранятся настройки iptables и добавить туда. Неплохо б еще добавить правило

iptables -t mangle -A POSTROUTING -s $INTERNAL_IP -j TTL --ttl-set 64

# это (теоретически) сделает пакеты от обеих машин неотличимыми для внешнего мира.

Вроде так, но проверить пока нет возможности, пишу по докам и памяти.

P.S. Зам ivanblade.

lodin ★★★★
()

проще будет поднять на роутере прокси, чтобы слушал все интерфейсы и прописать там acl mynetwork src 192.168.0.0/16 (см. /etc/squid/squid.conf - в комментах значения опций описаны) - а потом ходить в инет с внутренней сетки через проксю.

это если настройку NAT с помощью iptables + нужные роуты ниасилиш.

bsh ★★★
()
Ответ на: комментарий от lodin

нехочет..  на втором компе пинг адресов за шлюзом говорит
"destination host prohibited"

вот листинг правил:
$ sudoiptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  0    --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         
REJECT     0    --  anywhere             anywhere            reject-with icmp-host-prohibited 
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     0    --  10.10.0.0/24         anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (1 references)
target     prot opt source               destination         
ACCEPT     0    --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp any 
ACCEPT     esp  --  anywhere             anywhere            
ACCEPT     ah   --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp 
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:25600 
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:25700 
REJECT     0    --  anywhere             anywhere            reject-with icmp-host-prohibited

dGhost ★★★
()
Ответ на: комментарий от dGhost

1) Лучше бы печатать вывод iptables-save. Там информации больше.

2) Предположительно, правило для REJECT надо переставить в конец. Это делается путем iptables -D FORWARD 1; iptables -A FORWARD ... ... ...

3) Я почитал наш родной faq на эту тему -- там до сих пор ipchains, мамочка моя...

lodin ★★★★
()
Ответ на: комментарий от lodin

так все вроде ок.. у мну тока один вопрос:

> iptables -A FORWARD ... ... ...

можно всю команду? :) *бьюсь об мануал иптэйблаф*

dGhost ★★★
()
Ответ на: комментарий от lodin

>Отключать фаервол категорически не надо, он тебе в данном случае друг, товарищ и брат.

Напротив, убрать файервол, кроме SNAT.
Когда все заработает добвлять правила.

sdio ★★★★★
()
Ответ на: комментарий от MiracleMan

тема еще актуальна ? root@blackICE:~# iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.0.0/16 -o ppp0 -d 0.0.0.0 (Это делаешь там где поднмаешь нет)

route add default gw 192.168.ip.там_где_поднят_нет

и кажеться все ))) во всяк случае я у себя так поднимаю....

hose
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.