TeamViewerが制限付きiptables設定を使用できるようにするのに問題があります。私はFedora 20を使用しています。
いくつかの調査の後、TeamViewerがポート80、443を使用していることがわかりました。
#!/bin/bash
#clear iptables
iptables -F
iptables -X
#accept everything no matter port on localhost
iptables -A INPUT -i lo -j ACCEPT
#allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#allow traffic going to specific outbound ports
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5938 -j ACCEPT
iptables -A INPUT -p tcp --sport 5938 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
#drop anything that doesn't match the rules above
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
iptables -A FORWARD -j DROP
これらのルールを使用すると、TeamViewerを使用して他のコンピュータにアクセスできますが、他の人が自分のコンピュータにアクセスできるようにすることはできません。また、デフォルト(起動)iptablesが設定されている場合は、TeamViewer接続を受信して起動できます。
私は何を見逃していますか?
編集1
ちょうどパケットトレースを実行してポート5938で進行中のトラフィック負荷を見ることができますが、接続されているPCには「接続中...」のみが表示され、パスワードの入力を求められません。
編集2
動作するデフォルトルールセットを有効にして別のパケットトレースを実行しましたが、ポート5938に接続が表示され、一部のトラフィックの後にTeamViewerサーバー(ポート80)にHTTP接続が確立されたことを確認した後、複数のDNS(ポート53)TeamViewerホスト名を要求します。します。これらのポートはすべて制限された設定で開かれていますが、DNS要求とHTTP接続は表示されません... :-/他のホストとサイトへの接続は正しく機能します。実際、私は限定的なルールセットを使用してこの編集内容を公開しました。
編集3 心の平和のために、最後の3つのDROPルールを削除し、そのまま動作します。
答え1
TeamViewerを使用して私のiptables設定を一覧表示しました。
#!/bin/bash
#--------------------------------------
#Clear iptables
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
#allow forward
echo '1' > /proc/sys/net/ipv4/ip_forward
#default policy
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
#accept related and established connection
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# DNS
iptables -A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
# interfejs LO
iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -d 127.0.0.1 -j ACCEPT
#WWW
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
#TEAMVIEWER
iptables -A OUTPUT -o eth0 -p tcp --dport 5938 -m state --state NEW -j ACCEPT