wiki:Linux/Network

Version 5 (modified by yuna, 9 years ago) (diff)

--

ネットワーク設定メモ

最近のLinuxは、Network Managerなどで自動的に無線LANを探してくれたりして便利になっているのはよいが、特殊な環境だと毎回設定する必要があったり、正直うざいときがある。そこで、手動で設定してみよう。

設定

/etc/network/interfacesファイルに次のように設定を行う。

auto eth1
iface eth1 inet static
        wireless-essid [SSID]
        wireless-key [WEPキー]
        wireless-mode ad-hoc     (アクセスポイントを利用する場合はmanagedに)
        address 192.168.2.11
        netmask 255.255.255.0
        gateway 192.168.2.1

これで、

# ifup eth1

で無線LANが接続できる。無線LANのインタフェースかどうかは、iwconfigで確認できる。

特定のTCPポートを利用しているプロセスを発見する

Windowsの場合、

$ netstat -oan

Linuxの場合

$ netstat -tanp

オーバレイネットワーク

ネットワークの上にネットワークを作るオーバレイネットワークの作り方です。

ホスト1(192.168.200.1)とホスト2(192.168.200.2)がインタフェースeno1で繋がっている例です。

VXLAN

[192.168.200.1]# ip link add vxlan0 type vxlan id 2 remote 192.168.200.2 local 192.168.200.1 dev eno1 dstport 0
[192.168.200.2]# ip link add vxlan0 type vxlan id 2 remote 192.168.200.1 local 192.168.200.2 dev eno1 dstport 0

GRE

[192.168.200.1]# ip tunnel add gre0 mode gre remote 192.168.200.2 local 192.168.200.1 dev eno1
[192.168.200.2]# ip tunnel add gre0 mode gre remote 192.168.200.1 local 192.168.200.2 dev eno1

VLAN

[192.168.200.1]# ip link add link eno1 name eno1.2 type vlan id 2
[192.168.200.2]# ip link add link eno1 name eno1.2 type vlan id 2

動作確認は、次のような感じで実行。

[192.168.200.1]# ip addr add 192.168.128.1/24 broadcast 192.168.128.255 dev vxlan0
[192.168.200.1]# ip link set dev vxlan0 up

[192.168.200.2]# ip addr add 192.168.128.2/24 broadcast 192.168.128.255 dev vxlan0
[192.168.200.2]# ip link set dev vxlan0 up
[192.168.200.2]# ping 192.168.128.1

Open vSwitch

openvswitchパッケージをインストールする。CentOSでは、openvswitchのパッケージはないので、RDOのパッケージ

を利用する。

# rpm -Uvh https://repos.fedorapeople.org/repos/openstack/openstack-kilo/rdo-release-kilo-1.noarch.rpm
# yum install openvswitch
# systemctl enable openvswitch
# systemctl start openvswitch

ホスト1(IP192.168.100.1),2(192.168.100.2)で次のように実行。greのremote_ipには対抗ノードのIPを設定する。

### ホスト1(192.168.100.1)

# ovs-vsctl add-br brgre
# ovs-vsctl add-port brgre gre -- set interface gre type=gre options:remote_ip=192.168.100.2
# ip link set brgre up
# ip addr add 192.168.200.1/24 dev brgre

### ホスト2 (192.168.100.2)

# ovs-vsctl add-br brgre
# ovs-vsctl add-port brgre gre -- set interface gre type=gre options:remote_ip=192.168.100.1
# ip link set brgre up
# ip addr add 192.168.200.2/24 dev brgre

pingで192.168.200.xを利用して疎通が確認できる。firewalldが動作していると、firewalldにブロックされて通信できないことがある。その場合、firewalldサービスを停止するか、次のようにして、greをfirewalldで許可する。

# firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT 
# firewall-cmd --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT 
# firewall-cmd --reload