Linuxの主なネットワークインターフェース

Linuxの主なネットワークインターフェース

2つのインターフェースを持つサーバーボックスがあります。あるインターフェイスは内部ネットワークに接続され、もう一方のインターフェイスは外部ネットワークに接続されます。

内部インターフェイス(eth0)にIP 192.168.1.200を割り当てました。このIP /インターフェース(cups、nginx、pdns)を受信するいくつかのローカルデーモンがあります。

外部IPは192.168.0.91(eth1)です。ここにはNAT仮務会だけがあります。サーバー自体からサーバーにアクセスしようとするたびに、奇妙なことが起こります。

192.168.1.200のWebページを開こうとすると、サーバーは192.168.0.91アドレスを使用し、自分の権限が拒否されます(Webサーバーは保護され、内部ネットワークのコンテンツのみを提供します)。

eth1をオフにすると、サーバーは正常に動作し、内部IPを使用します。ただし、eth1 を起動するとすぐにその IP をプライマリ IP にし、権限が再び拒否されます。

使用するデフォルトのIP /インタフェースを明示的に設定するにはどうすればよいですか?

私は64ビット版のGentoo Linuxを実行しています。両方のネットワークカードのドライバはモジュールにコンパイルされます。私は初期化システムとしてsystemdを使用します。

編集する:

返信ありがとうございます。しかし、最も面白い部分は次のとおりです。

atomic ~ # cat /etc/resolv.conf
domain local
search local
nameserver 192.168.1.200

atomic ~ # cat /etc/hosts
...
192.168.1.200   atomic ns.atomic.local atomic.local
...

住所確認が正常です。

atomic ~ # dig atomic.local 192.168.1.200

; <<>> DiG 9.9.4 <<>> atomic.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38797
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 2800
;; QUESTION SECTION:
;atomic.local.          IN  A

;; ANSWER SECTION:
atomic.local.       604800  IN  A   192.168.1.200

;; Query time: 42 msec
;; SERVER: 192.168.1.200#53(192.168.1.200)
;; WHEN: Tue May 27 13:37:04 EEST 2014
;; MSG SIZE  rcvd: 55

wgetを介してアクセスされるNginxログ:

atomic ~ # wget atomic.fhn
--2014-05-27 13:45:58--  http://atomic.local/
Resolving atomic.local... 192.168.1.200
Connecting to atomic.local|192.168.1.200|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

[ <=>                                              ] 0  --.-K/s   in 0s      

2014-05-27 13:45:58 (0.00 B/s) - ‘index.html’ saved [0]

atomic ~ # tail -n 1 /var/log/nginx/access_log
192.168.0.91 - - [27/May/2014:13:45:58 +0300] "GET / HTTP/1.1" 200 5 "-" "Wget/1.14 (linux-gnu)"

IP /ネットワークフィルタリングを無効にしたため、200 / OK HTTPステータスが表示されますが、問題はまだ解決されていません。

ルーティングテーブル:

192.168.0.0/30 dev wan  proto kernel  scope link  src 192.168.0.2 
192.168.1.0/24 dev lan  proto kernel  scope link  src 192.168.1.200 

編集2:

指標を使用するルーティングテーブル:

192.168.0.0/30 dev wan  scope link  metric 20 
192.168.1.0/24 dev lan  scope link  metric 10 
broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  table local  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  table local  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.0.0 dev wan  table local  proto kernel  scope link  src 192.168.0.2 
local 192.168.0.2 dev wan  table local  proto kernel  scope host  src 192.168.0.2 
broadcast 192.168.0.3 dev wan  table local  proto kernel  scope link  src 192.168.0.2 
broadcast 192.168.1.0 dev lan  table local  proto kernel  scope link  src 192.168.1.200 
local 192.168.1.200 dev lan  table local  proto kernel  scope host  src 192.168.1.200 
broadcast 192.168.1.255 dev lan  table local  proto kernel  scope link  src 192.168.1.200 

ベストアンサー1

LANパスがWANパスよりも優先されるようにする必要があります。問題はここにあります:

192.168.0.0/30 dev wan  proto kernel  scope link  src 192.168.0.2 
192.168.1.0/24 dev lan  proto kernel  scope link  src 192.168.1.200

192.168.0.0/30 は 192.168.1.0/24 にも適用されます。したがって、該当する場合は、後者を優先するようにTCP / IPスタックに指示する必要があります。それ以外の場合はランダムに選択できます(ほとんどの実装では常に最初のものを使用することを期待しています)。次metricのパラメータを使用します。

ip route add 192.168.1.0/24 dev lan metric 10
ip route add 192.168.0.0/30 dev wan metric 20

(もちろん、既存のパスを最初に削除する必要があります)。

おすすめ記事