web-dev-qa-db-ja.com

Ubuntuゲートウェイを使用して、一部のLANクライアントのインターネットアクセスをいくつかのWebサイトに制限する

LAN上のほとんどのシステムのインターネットアクセスをいくつかのWebサイトに制限し、他のすべてのWebサイトをブロックするにはどうすればよいですか?また、一部のシステムではこれらの制限を回避したいと思います。すべてのシステムには静的IPアドレスがあります。

Dansguardian + squidを独立したシステムで試しましたが、ユーザーがWebブラウザでプロキシを変更できるため、そのソリューションを実装できません。ブラウジング中に、ルーターとLANの間にUbuntuゲートウェイシステムを使用することで実現できることがわかりました。

ゲートウェイシステムに2つのネットワークカードを装備します。1つはルーター用、もう1つはローカルLAN用です。

これをどうすればよいですか?

十分な詳細を入力してください。

4
ATR

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にログインします。

enter image description here

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ルールをリストします。


ソース:

3
ATR

基本的なことは、squidサーバーをデフォルトゲートウェイにすることですインターネットルーターの代わりに

Ubuntu squidに追加のネットワークカードを追加するだけで、LANに1枚、ネットワークルーターに1枚のネットワークカードを最大2枚搭載できます。 LAN側はデフォルトゲートウェイのIPアドレス(おそらく192.168.1.1)を取得し、WAN側はISPから自動IPアドレスを取得します。

そうすることで、ネットワークトラフィックのすべてが外に出る前にsquidサーバーを通過し、何でもブロックできます。ファイアウォールを備えた通常のUbuntuマシンとして扱うだけで、ブラックリストを使用するのではなく、ホワイトリストのものを使用することをお勧めします。

唯一の違いは、mightネットワーク内にいくつかの手動ルートを追加する必要がありますが、デフォルトでは、ホワイトリストにないすべてのものをドロップするsquidになります...

それはそれと同じくらい簡単です!

3
Fabby