iptablesルールの奇妙な動作

iptablesルールの奇妙な動作

VPN接続が突然切断された場合、または手動で終了した場合は、トラフィックが自分のコンピュータから外れるのを防ぐことを目的とした一連のiptablesルール(以下を参照)があります。

#!/bin/bash

echo "Please wait a moment......"
echo "Save original iptables. Apply new iptables rules"

iptables-save > /home/username/vpn/iptables.save

iptables -A INPUT -m conntrack -j DROP --ctstate INVALID
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p tcp -m tcp -m conntrack -s 123.123.123.123 -i eth0 --sport 443 -j ACCEPT  --ctstate ESTABLISHED #ca1.conf
iptables -A OUTPUT -p tcp -m tcp -m conntrack -d 123.123.123.123 -o eth0 --dport 443 -j ACCEPT --ctstate NEW,ESTABLISHED #ca1.conf
iptables -A INPUT -i eth0 -j DROP
iptables -A OUTPUT -o eth0 -j REJECT
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 80 -j ACCEPT  --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 443 -j ACCEPT  --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 53 -j ACCEPT  --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 53 -j ACCEPT  --ctstate NEW,ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 80 -j ACCEPT  --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 443 -j ACCEPT  --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 53 -j ACCEPT  --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 53 -j ACCEPT  --ctstate ESTABLISHED
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -j DROP

上記のiptablesルールは、Intel Haswell CPU(i7-4xxxシリーズ、クアッドコア、8スレッド)およびHaswellチップセット(H87シリーズ)を実行しているコンピュータに適用されます。

ただし、Intel Ivy-Bridge CPU(i7-3xxxシリーズ、クアッドコア、8スレッド)およびIvy-Bridgeチップセット(H77シリーズ)を実行しているコンピュータには適用されません。

誰でも理由を教えてもらえますか?

使用されたオペレーティングシステムはDebian Wheezyであり、上記の実験でも同じHDDを使用した。

ベストアンサー1

CPUチップセットとは無関係の可能性はほとんどありません。ネットワークカードに関連している可能性が高いです。

異なる2台のコンピュータ間で同じハードドライブとオペレーティングシステムのインストールを共有する場合は、NICが異なるため、そのNICのMACも異なります。したがって、ほぼ確実に他の構成にバインドするように構成されていますeth0eth1

/etc/udev/rules.d/70-persistent-net.rules生成された両方のルールは、インターフェイス名をに編集して確認することで、Wheezyでこの問題を解決できますeth0。 (ただし、NICが2台あるパソコンを使用しないでください。)

私のシステムの対応する項目は次のとおりです。システムのMACはさまざまです。この行はudevdMACを使用してNICに00:0a:cd:20:aa:3f名前を割り当てるように指示しますeth0

# PCI device 0x10ec:/sys/devices/pci0000:00/0000:00:04.0/0000:02:00.0 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0a:cd:20:aa:3f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

おすすめ記事