Настройка прозрачного прокси.

Пытаюсь настроить squid и iptables так, чтобы не приходилось настраивать браузер пользователя, внося настройки прокси-сервера (но если все же браузер настроить, то и интернет появляется, и правила squida срабатывают).
Что дано:
Прокси-сервер:
Сетевой интерфейс, смотрящий в инет: имя - enp0s4, ip - 10.0.0.143
Сетевой интерфейс, смотрящий в локальную сеть: имя - enp0s9, ip - 11.0.0.1

# cat /etc/netctl/net
Description='Internet connection'
Interface=enp0s4
Connection=ethernet
AutoWired=yes
IP=static
Address='10.0.0.143/24'
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway=('10.0.0.3')
DNS='8.8.8.8'

# cat /etc/netctl/loc
Description='Local network'
Interface=enp0s9
Connection=ethernet
IP=static
Address=('11.0.0.1/24')
#Routes=('192.168.0.0/24 via 192.168.1.2')
#Gateway='192.168.1.1'
DNS=('8.8.8.8')

# cat /etc/iptables/iptables.rules
# Generated by iptables-save v1.6.2 on Mon Jul  9 14:13:30 2018
*mangle
:PREROUTING ACCEPT [110:8053]
:INPUT ACCEPT [61:4849]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [35:3672]
:POSTROUTING ACCEPT [35:3672]
COMMIT
# Completed on Mon Jul  9 14:13:30 2018
# Generated by iptables-save v1.6.2 on Mon Jul  9 14:13:30 2018
*filter
:INPUT ACCEPT [392:35920]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [174:17644]
COMMIT
# Completed on Mon Jul  9 14:13:30 2018
# Generated by iptables-save v1.6.2 on Mon Jul  9 14:13:30 2018
*nat
:PREROUTING ACCEPT [83:5802]
:INPUT ACCEPT [7:890]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -s 10.0.0.143/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -j MASQUERADE
COMMIT

# cat /etc/squid/squid.conf

acl localnet src 11.0.0.0/8

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http

acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 3128 intercept

coredump_dir /var/cache/squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

Клиентская машина под Win7 и ip 11.0.0.2

Правила в iptables взял с документации сквида. Конфиг сквида практически дефолдный, за исключением добавленного intercept к порту и убранных закомментированных строк.
Надеюсь на вашу помощь.
TEst5
Пытаюсь настроить squid и iptables так, чтобы не приходилось настраивать браузер пользователя
как вы это себе представляете? вообще зачем тут proxy??

proxy можно задать через окружение(реестр) и наверно политикой безопасности можно.

p.s. 11.* плохой выбор...
Ошибки в тексте-неповторимый стиль автора©
как вы это себе представляете?
Вот так: на компьютере (с ОС WinXP, например), который подключен к прокси, я, для того, чтобы дать ему выход в интернет, лишь указываю определенные сетевые настройки (как на рис. 1), без дополнительного конфигурирования свойств обозревателя (как на рис. 2).
вообще зачем тут proxy?
Squid в основном я хочу использовать для фильтрации сайтов и распределения скорости(хоть и слабо уверен что он на это способен), а iptables, как мне кажется, необходим для перенаправления трафика с 80 порта на сквидовский 3128.
proxy можно задать через окружение(реестр) и наверно политикой безопасности можно.
Как мне кажется, вы думаете, что я все это затеял ради контроля доступа над одним компьютером. Как бы то ни было, мне хочется научится пользоваться такими сетевыми инструментами и уметь настраивать их, в том числе и под выше описанные нужды. Поэтому иные варианты ограничения соединения не рассматриваются.
Убедитесь, что на клиентской машине у вас шлюз по умолчанию присутствует и работает разрешение имен.
kurych, шлюз по умолчанию выставлен, днс установлен гугловский. На всякий случай вот скриншот сетевых настроек.
Во первых, сеть 11/8 вы как-то опрометчиво выбрали. Во-первых, для сетей за NAT-ом выделены специальные "серые" диапозоны, а во-вторых, клиентский компьютер внутри сети будет считать, что все эти адреса находятся в локалке и не будет пересылать пакеты шлюзу. Но это ваши проблемы конкретно с этой подсетью...
А по сути дела следующий вопрос: настройки настройками, а реально резолвятся адреса? То есть, если открыть окошко CMD (или что там в современной винде?) вы можете пинговать что-то по имени?
Покажите, как работают команды
ping 8.8.8.8
ping www.google.ru
tracert 8.8.8.8
Честно говоря, про "серые" диапазоны не знал, поэтому и выбрал такую подсеть. Но менять адреса на допустимые я не буду, т.к. с ними так же беспрепятственно можно выйти в интеренет, как и с "серыми", а также, чтобы не создавать путаницы.
По поводу пингов и трасеровки, то все три команды выдают "Превышен интервал ожидания для запроса".
Вот сначала с этим и надо разобраться.
Первый вариант - поднять проксирующий dns на линуксовой машине и на клиентах в локалке указывать его. Дальше по обстоятельствам: прокси может заработать, а может еще что-то вылезет.
Второй вариант - сначала настроить нормальный маскарадинг на линуксовой машине (возможно, у вас просто не включен форвардинг)
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
И когда инет из локалки будет доступен, тогда уже в файрволе закручивать гайки и применять конфиг для перенаправления http запросов на прокси.
kurych, спасибо, все заработало. Воспользовался вторым вариантам (первый пока кажется сложным и непонятным). В моем случае надо было в
/etc/sysctl.d/30-ipforward.conf
добавить строку net.ipv4.ip_forward=1
Предложенный kurych вариант выполняет тоже самое, но работает до ближайшего ребута/выключения.
 
Зарегистрироваться или войдите чтобы оставить сообщение.