Назад | Перейти на главную страницу

настройка iptables для tcp_outgoing_address Squid в Linux

IP на моей машине

root@poweredge:/var/log/squid# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:1e:4f:cd:c1:5f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.212/24 brd 192.168.1.255 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::21e:4fff:fecd:c15f/64 scope link 
       valid_lft forever preferred_lft forever
3: wlx74da388c32c7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 74:da:38:8c:32:c7 brd ff:ff:ff:ff:ff:ff
    inet 172.16.11.107/24 brd 172.16.11.255 scope global dynamic noprefixroute wlx74da388c32c7
       valid_lft 3531sec preferred_lft 3531sec
    inet6 fe80::4e86:c190:1e45:4722/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Я хочу подключиться к прокси Squid с помощью 192.168.1.212 и если я подключаюсь через порт 11000, я хочу, чтобы у squid выходил трафик из 172.16.11.107 IP

Ниже соответствующая часть моего squid.conf

http_port 11000 name=port_11000
acl port_11000_acl myportname port_11000
tcp_outgoing_address 172.16.11.107 port_11000_acl

Из того, что я прочитал, приведенной выше конфигурации должно быть достаточно для Squid, но на машинах с Linux мне также нужно использовать iptables. Я никогда не использовал таблицы IP.

Что мне нужно сделать с iptables, чтобы это работало?

Для этого также можно использовать маршрутизацию политик. Во-первых, добавьте таблицу маршрутов в файл / etc / iproute2 / rt_tables, например:

255 local
254 main
253 default
0   unspec
2   squid

Например, следующие команды будут смотреть на одну и ту же таблицу маршрутизации, если вы выполнили редактирование выше:

ip route list table squid

Поскольку я ввел таблицу IP-маршрутов squid, выводом будет новая командная строка. В таблице нечего перечислять. заполните каждую из таблиц маршрутом. Я буду использовать адрес локального интерфейса 172.16.11.0/24 в вашей информационной системе.

/sbin/ip rule add from wlx74da388c32c7 pref 1000 table squid
/sbin/ip route add table 172.16.11.0/24 default via 172.16.11.1

Предполагается, что ваш интерфейсный шлюз wlx74da388c32c7 - 172.16.11.1, тогда он работает ~