web-dev-qa-db-ja.com

TINCがDHCPを中継しないようにするにはどうすればよいですか

私はいくつかのNAT Debian 7 Wheezyを実行しているルーターでtincを実行しています。VPNはスイッチモードでセットアップしたため、DHCP要求を中継し、すべてのVPNを介して応答することを除いて、数か月間正常に機能します。問題は、ホストAがDHCP用に10.10.10.2-254のプールを使用し、ゲートウェイとして10.10.10.1を使用していることです(ホストA)。ホストBは、DHCP用に10.10.10.2-254のプールを使用しています。ゲートウェイ(ホストB)など。

私の「クラウド」の目的は、すべてのネットワーク(A、B ..)のすべてのホストを同じLANに表示することであるため、ティンクタップ(イーサネット)インターフェイスは物理LANインターフェイス間でブリッジされることに注意してください。

私はこれを克服するための簡単な解決策を探しています。 physdevおよびphysdevでiptablesを使用しようとしました-tincインターフェイスを指定しますが、これは機能しないようです。

これに対する他の解決策はありますか?

追伸:マルチキャストやその他のルーティング不可能なプロトコルが本当に必要なので、tincをルーターモードに切り替えることは解決策ではありません。

2
Sir.pOpE

Sysctl変数net.bridge.bridge-nf-call-iptablesが1に設定されている場合は、iptables -t mangle -mphysdevで機能するはずです。

sysctl -w net.bridge.bridge-nf-call-iptables=1
iptables -t mangle -I PREROUTING -m physdev --physdev-in vpn1 \
    -p udp --dport 67:68 -j DROP


Ebtablesでブロックする方法もあります。

## dont accept dhcp packets directed to the local machine
ebtables -A INPUT --in-interface vpn1 --protocol ipv4 \
    --ip-protocol udp --ip-destination-port 67:68 -j DROP

## dont forward dhcp packets coming in from vpn
ebtables -A FORWARD --in-interface vpn1 --protocol ipv4 \
    --ip-protocol udp --ip-destination-port 67:68 -j DROP

## dont send dhcp requests over vpn
ebtables -A FORWARD --out-interface vpn1 --protocol ipv4 \
   --ip-protocol udp --ip-destination-port 67:68 -j DROP
2
Victor Jerlin