私の環境: *オペレーティングシステム:*エストロムLinux
ドメイン名システム:製本
現状:
- ユーザーが個人用オフラインネットワークに接続します。
- ユーザーがgoogle.comにアクセスしようとしていますが、私のボックスがプライベートネットワークにあるため、接続が利用できないというエラーが発生します。
必須シナリオの例:
- ユーザーが個人用オフラインネットワークに接続します。
- ユーザーがブラウザからgoogle.comまたは他の外部ホストにアクセスしようとすると、私のスプラッシュページにリダイレクトされます。
マイコンピュータのインターネット接続が失われても、エンドユーザーは引き続きgoogle.comまたは他の外部ウェブサイトにアクセスしてマイラン/ポータルページにリダイレクトされる可能性があります。
これを達成する方法についてのアイデアやフィードバックをいただきありがとうございます。
答え1
方法 1#IPTABLES
xxxxx
+----------+ +----------+ xxxxxxxxx xxx xxxxx
| | | | xx xx
| | | Linux | xxx xx x
| | | Box | x x
| Clinet | ========> | As | ====> x WebServer portal page.
| | | GateWay | xx xxx
| | | | x x
| | | | xx xxx x xxxxx
+----------+ +----------+ xxxxxxxxxx xxx
クライアントコンピュータでゲートウェイを使用し、Linuxボックスに次のルールを追加し、Ipforwordingを有効にします。
/sbin/iptables -t nat -A PREROUTING -s [source network/mask] -p tcp --dport 80 -j DNAT --to-destination [your webserver]
IP_転送を有効にする:
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
それから申請してください
sysctl -p
ドラブが言ったように
ポート443をリダイレクトできますが、これはブラウザに無効な証明書に関する警告が表示されることに注意してください(これは何でも)。
方法2#DNS
名前付き.confから:
zone "." IN {
type master;
file "named.root";
};
"named.root"から:
$ORIGIN .
$TTL 1D
@ IN SOA @ none. ( 0 1D 1H 1W 3H );
. IN NS @
@ IN A 10.0.0.1
* IN A 10.0.0.1
IPアドレス10.0.0.1をWebサーバーに置き換えます。
上記の方法はテストされ、効果的です。