何も設定しないとApacheのログにはSquidのIPが書かれてしまう。

Squidの設定に

forwarded_for on

を記述する。

そしてApache側のサーバーに
X-Forwarded-ForヘッダからIPアドレスを取得するモジュールをインストールする。

sudo aptitude install libapache2-mod-rpaf

mod_rpafの設定を変更する。RPAFproxy_ipsにはSquidサーバーのIPを記述しておく。

sudo nano /etc/apache2/mods-available/rpaf.conf
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.1.201

mod_rpafが組み込まれていなければ

sudo a2enmod rpaf

Apacheを再起動

sudo service apache2 restart

これでApacheのログにアクセス元のIPが書かれてるはず。

とりあえずApacheのログさえちゃんとなればどうでもいいんです!
っていう場合にはSquidの設定はせずにmod_rpafだけインストールすればいい。
もしくはApacheのログの設定で対処しましょう。

LogFormatの%hを%{X-Forwarded-For}iに変更する。
combinedが他でも使っていて変更できない!という場合は別の名前で新たに記述しておく。reverseproxyとか。

sudo nano /etc/apache2/apache2.conf
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

Apacheを再起動

sudo service apache2 restart

ただこれだとREMOTE_ADDRがSquidのサーバーのIPなのかな?わからん。