На сервере стоит прозрачный squid. Еще стоит lighttpd.
Задача: открыть доступ к веб-серверу снаружи.
Сейчас все пакеты с порта 80 заруливаются на 3128 и дальше их прокси обрабатывает.
iptables: все снаружи кроме 80 закрыто, 80 на 3128.
Доступ снаружи сейчас ограничивает squid (если зайти на наш ip, то сообщение об ошибке сквидовое).
Надо не открыть всем желающим доступ к сквиду, но позволить пользоваться веб-сервером.
Вариант А, если можно, сделать его: не перенаправлять соединения снаружи на squid. Не получается потому что если закрыть порт 80 для наружки, то ничего не выходит, а если закрыть порт 3128, то у меня интернет не работает (я пишу
iptables -I INPUT 1 -p tcp --dport 3128 -j REJECT).
Вариант Б: рулить то же самое squid'ом. Как я понимаю, в этом случае надо будет для всех наружних хостов добавить один разрешенный хост на который можно ходить - ip моего сервера. Но они будут кешировать на моем сервере мой сервер, что как-то не по уму.
Конфиргурация iptables:
$ sudo iptables -L -v
Chain INPUT (policy DROP 4176 packets, 300K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all — lo any anywhere anywhere
15634 2070K ACCEPT all — eth1 any anywhere anywhere
17983 28M ACCEPT all — any any anywhere anywhere state RELATED,ESTABLISHED
55 2685 DROP all — any any anywhere anywhere state INVALID
10 1800 DROP tcp — any any anywhere anywhere tcpflags:! FIN,SYN,RST,ACK/SYN state NEW
0 0 ACCEPT tcp — any any anywhere anywhere tcp dpt:3128
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3340 168K TCPMSS tcp — any any anywhere anywhere tcpflags: SYN,RST/SYN TCPMSS clamp to PMTU
301K 280M ACCEPT all — any any anywhere anywhere state RELATED,ESTABLISHED
18 788 DROP all — any any anywhere anywhere state INVALID
5979 428K ACCEPT all — eth1 eth0 anywhere anywhere
0 0 REJECT all — eth0 eth1 anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all — any lo anywhere anywhere
22682 31M ACCEPT all — any eth1 anywhere anywhere
17770 2231K ACCEPT all — any any anywhere anywhere state NEW,RELATED,ESTABLISHED
0 0 DROP tcp — any any anywhere anywhere tcpflags:! FIN,SYN,RST,ACK/SYN state NEW
Заранее спасибо всем за советы.