как настроить iptables так, что бы с определенной машины в сети, можно было выходить в инет в обход прокси(squid)? желательно не только на 80 порт, но и на другие (щас идет мимо прокси по 25 и 21 портам) заранее благодарен
--sport 80 - в корне неверно. --sport надо вообще убрать из описания правила, так как исходящий порт может быть любым. А для того, чтобы машина вышла в обход прокси надо банально убрать "Использовать прокси-сервер" из настроек интернета на этой машине и разрешить на фаерволле выход этой машине наружу на --dport 80, и/или любой другой какой потребуется.
thx за внимание! делаю так: iptables -A FORWARD -p tcp --dport 80 ничего не получается:( можно пример: Как разрешить выход с определенной машины на все порты?
Во-первых, эта определенная машина имеет внешний IP-адрес или внутренний (зарезервированный для локальных сетей) ?
Если внутренний - тогда надо делать SNAT в PREROUTING, вместо ACCEPT в FORWARD.
Во-вторых, если адрес все таки внешний и все дело в FORWARD, то "разрешить выход с определенной машины на все порты" это мало, надо еще разрешить и ВХОД со всех портов на эту машину.
Т.е. еще как min добавить:
iptables -A FORWARD -d x.x.x.x -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -d x.x.x.x -p tcp -m state --state NEW,INVALID -j DROP
где x.x.x.x - IP-адрес "определенной" машины.
Sorry :-) Похоже меня вчера немного проглючило (сессия, с учебой напряг), в PREROUTING используется DNAT, для SNAT и MASQUERADE - POSTROUTING.
iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -d ! 192.168.0.0/16 -j SNAT --to-source x.x.x.x
где x.x.x.x - адрес интерфейса вашего proxy, которым он смотрит в internet (так сказать ваш внешний адрес).
Либо можно так:
iptables -t nat -A POSTROUTING -s 192.168.1.11/32 -d ! 192.168.0.0/16 -j MASQUERADE