LAN上のほとんどのシステムのインターネットアクセスをいくつかのWebサイトに制限し、他のすべてのWebサイトをブロックするにはどうすればよいですか?また、一部のシステムではこれらの制限を回避したいと思います。すべてのシステムには静的IPアドレスがあります。
Dansguardian + squidを独立したシステムで試しましたが、ユーザーがWebブラウザでプロキシを変更できるため、そのソリューションを実装できません。ブラウジング中に、ルーターとLANの間にUbuntuゲートウェイシステムを使用することで実現できることがわかりました。
ゲートウェイシステムに2つのネットワークカードを装備します。1つはルーター用、もう1つはローカルLAN用です。
これをどうすればよいですか?
十分な詳細を入力してください。
UbuntuシステムをLANとADSLルーター間のゲートウェイとして設定しました。 2つのネットワークカードのうちeth0
は、IPアドレス192.168.0.240
でADSLルーターに接続されています。
eth0
(WAN)インターフェイスは、次の入力で構成されます。
IP - 192.168.0.239
Gateway - 192.168.0.240
DNS - 192.168.0.225
eth1
(LAN)インターフェイスは、次の入力で構成されます。
IP - 192.168.0.238
Gateway - 192.168.0.239
DNS - 192.168.0.225
eth0
のIPアドレスが、他のインターフェイスeth1
のゲートウェイとして指定されていることに注意してください。 IP 192.168.0.225
は、キャッシュDNSサーバーとして構成された内部ローカルDNSサーバーです。
/etc/sysctl.conf
ファイルを編集して、net.ipv4.ip_forward=1
行のコメントを解除します。
次のコマンドを使用して webmin パッケージをダウンロードします。
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.720_all.deb
パッケージをインストールします。
dpkg -i webmin_1.720_all.deb
Webブラウザーでhttps://server-ip:10000
を使用してWebminにログインします。
eth0
でNATを実行し、Setup firewall
をクリックします。
シェルスクリプトを記述して、LANのシステム用にカスタマイズされたアクセスを作成できます。
vim /root/iptables.sh
#!/bin/bash
iptables -F
IP="3 6 7 13 14 17"
for i in `echo $IP`
do
# FTP server
iptables -A FORWARD -s 192.168.0.$i -d 85.46.5.230 -j ACCEPT
# Mail server
iptables -A FORWARD -s 192.168.0.$i -d 93.34.3.220 -j ACCEPT
iptables -A FORWARD -s 192.168.0.$i -j DROP
done
exit 0
/etc/rc.local
を編集して、起動中にスクリプトを実行します
/bin/bash /root/iptables.sh
または、次の方法でスクリプトを/etc/init.d/
にコピーし、起動スクリプトに追加できます。
Sudo update-rc.d keys defaults
iptables -L
は、現在のiptablesルールをリストします。
ソース:
基本的なことは、squidサーバーをデフォルトゲートウェイにすることですインターネットルーターの代わりに。
Ubuntu squidに追加のネットワークカードを追加するだけで、LANに1枚、ネットワークルーターに1枚のネットワークカードを最大2枚搭載できます。 LAN側はデフォルトゲートウェイのIPアドレス(おそらく192.168.1.1)を取得し、WAN側はISPから自動IPアドレスを取得します。
そうすることで、ネットワークトラフィックのすべてが外に出る前にsquidサーバーを通過し、何でもブロックできます。ファイアウォールを備えた通常のUbuntuマシンとして扱うだけで、ブラックリストを使用するのではなく、ホワイトリストのものを使用することをお勧めします。
唯一の違いは、mightネットワーク内にいくつかの手動ルートを追加する必要がありますが、デフォルトでは、ホワイトリストにないすべてのものをドロップするsquidになります...
それはそれと同じくらい簡単です!