02.06.2009 в 12:37 — Александр
Есть два компьютера, оба с дебианом. Один из них имеет интернет (ath0) и локальный айпи 192.168.0.1 (eth0). Второй не имеет интернета и имеет айпи 192.168.0.2, нужно чтобы у второго тоже появился интернет ^^ Подскажите как это реализовать, желательно поподробней)
----------------------------
Сразу хотелось бы уточнить, сквид не предлагать. Это http прокси, хватит мне его подсовывать, мне нужно пропустить АБСОЛЮТНО всё и вся с этой машины. С помощью сквида у меня получилось только http\ftp ну и торрент. DС же например только через носки пятые ходить умеет. Вобщем не заморачивайтесь со сквидом, объясните мне как реализовать полный(!) проброс траффика средствами iptables. Что и где нужно указывать на первой и второй машине.
PS: Мне не нужны ликбезы по сквиду. Если вам есть что сказать по этому поводу заведите себе блог и напишите там.
PPS: Заранее спасибо.
Комментарии
Дома раньше делал это вот таким скриптом:
#!/bin/sh
# Enable routing.
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
# всякий раз очищаем все цепочки правил в используемых таблицах
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F POSTROUTING
# устанавливаем правила (политики) по умолчанию
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQUERADE
Ну, и на второй, соответственно, шлюзом прописать первую.
А вообще, "в faq, сукины дети!" (c) jackill
Этот вопрос столько раз обсосан в интернетах, что найти решение не составило бы труда. Прежде чем спрашивать у кого-то, хотя бы попытайся сделать что-то самостоятельно.
>Артём Thomas Валерьевич
>iptables -A FORWARD -s 192.168.0.0/24 ... -j ACCEPT
>iptables -P FORWARD ACCEPT
Если у вас явно в policy стоит ACCEPT, то по идее должен работать без верхней строчки. И еще :
1) если адрес исходящего интерфейса не динамический, можно прописать SNAT.
2) echo 1 > /proc/sys/net/ipv4/ip_forward - коррректнее всё-таки включать уже после установок NAT'a
Всем спасибо, проблема решена ^^
> Если у вас явно в policy стоит ACCEPT, то по идее должен работать без верхней строчки.
Да пофиг. Я этот скрипт писал на коленке пару лет назад по принципу "работает - и ладно". А щас тупо скопипастил.
>>А вообще, "в faq, сукины дети!" (c) jackill
Ну так можно было бы и в группе его забабахать. Не зря же wiki сделали.
Для включения форвардинга пакетов проще один раз выполнить команду.
# sysctl arding=1
и в автозагрузку уже (в l например):
iptables -t nat -A POSTROUTING -o ath0 -j MASQUERADE
У меня такое работает на домашнем сервере-роутере без нареканий, хоть я и не понимаю механизм. Сам сервер и оба клиента - с дебианом.
> Ну так можно было бы и в группе его забабахать. Не зря же wiki сделали.
Есть время и желание - сделай, я ссылку выложу на глагне.
сейчас нет.