![株式会社匠技術研究所 簡明な情報基盤を構築 匠技術研究所](https://blogimg.goo.ne.jp/user_image/21/85/3bfc5e113e0e2df5940fb9c3ba4eed11.png)
いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回は「Ubuntuでiproute2を使いブリッジを作成し固定IPを設定する」です。ネットワークのテストで、Ubuntuをルーターとして使うために、LANインターフェイスを増やす必要が生じたので、テスト的にUbuntuの中にブリッジインターフェイスを作りIPアドレスを与えます。期待通りに動作したら、物理的にイーサーネット・カードを増やします。
■ブリッジインターフェイスをコマンドで作成する
$ sudo ip link add br0 type bridge # ブリッジbr0を作成する
$ sudo ip link set br0 up # ブリッジbr0をUPする
# ブリッジbr0にアドレスを設定する
$ sudo ip addr add 192.168.125.1/24 broadcast 192.168.125.255 label br0 dev br0
■動作確認
1.インターフェイスを表示する
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether d8:d3:85:77:d9:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.49/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::dad3:85ff:fe77:d955/64 scope link
valid_lft forever preferred_lft forever
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 0a:43:54:42:71:69 brd ff:ff:ff:ff:ff:ff
inet 192.168.125.1/24 brd 192.168.125.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::843:54ff:fe42:7169/64 scope link
valid_lft forever preferred_lft forever
2.Pingで導通確認をする
$ ping 192.168.125.1
PING 192.168.125.1 (192.168.125.1) 56(84) bytes of data.
64 bytes from 192.168.125.1: icmp_seq=1 ttl=64 time=0.034 ms
64 bytes from 192.168.125.1: icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from 192.168.125.1: icmp_seq=3 ttl=64 time=0.042 ms
64 bytes from 192.168.125.1: icmp_seq=4 ttl=64 time=0.040 ms
^C
--- 192.168.125.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.034/0.039/0.042/0.003 ms
3.iptables(Linuxファイヤーウオール)が設定されないことを確認する
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
takumi@ubstudio:~$ ping 192.168.125.1
4.br0を実インターフェイスに接続する
$ sudo ip link set eth0 master br0
$ sudo ip link set $slave nomaster
5.br0を削除する
$ sudo ip link delete br0
6.br0を操作するip linkコマンドのhelp
$ sudo ip link help
[sudo] password for takumi:
Usage: ip link add [link DEV] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ]
[ numtxqueues QUEUE_COUNT ]
[ numrxqueues QUEUE_COUNT ]
type TYPE [ ARGS ]
ip link delete DEV type TYPE [ ARGS ]
ip link set { dev DEVICE | group DEVGROUP } [ { up | down } ]
[ arp { on | off } ]
[ dynamic { on | off } ]
[ multicast { on | off } ]
[ allmulticast { on | off } ]
[ promisc { on | off } ]
[ trailers { on | off } ]
[ txqueuelen PACKETS ]
[ name NEWNAME ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ]
[ netns PID ]
[ netns NAME ]
[ alias NAME ]
[ vf NUM [ mac LLADDR ]
[ vlan VLANID [ qos VLAN-QOS ] ]
[ rate TXRATE ] ]
[ spoofchk { on | off} ] ]
[ state { auto | enable | disable} ] ]
[ master DEVICE ]
[ nomaster ]
ip link show [ DEVICE | group GROUP ] [up]
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
can | bridge | ipoib | ip6tnl | ipip | sit | vxlan |
gre | gretap | ip6gre | ip6gretap | vti }
$