回答編集履歴

1 追記: ネットワークの問題切り分け

TaichiYanagiya

TaichiYanagiya score 11026

2016/05/30 10:28  投稿

`tcp_outgoing_address` はグローバルIPアドレスではなく、サーバーが持っているローカルIPアドレスにしないと bind できないのでダメだと思います。
インターネットに出て行くときに、GMO 側でローカルIPアドレスをグローバルIPアドレスに変換してくれるはずです。
また、エラーとは関係ないですが、`acl ip1 myip`, `acl ip2 myip` と `ip a` で、ネットワークプレフィックスが合っていません。
`ip a` に合わせて `172.31.28.67/21`, `172.31.26.135/20` とするか、`172.31.28.67/32`, `172.31.26.135/32` でもいいと思います。
`ip a` に合わせて `172.31.28.67/21`, `172.31.26.135/20` とするか、`172.31.28.67/32`, `172.31.26.135/32` でもいいと思います。
###(2016/05/30 10:28 追記) ネットワークの問題切り分け
**outbound (ip2からインターネット)**
サーバー内から telnet, wget, curl, nmap などのコマンド(どれか 1つ)で Source address に ip2 を指定してインターネットに接続できるか確認します。
```
# telnet -b 172.31.26.135 www.google.com 80
Connected to www.google.com.
Escape character is '^]'.
GET / HTTP/1.0   (←入力後、リターン 2回)
HTTP/1.0 302 Found   (←応答が返ればOK)
(略)
# wget --bind-address 172.31.26.135 http://www.google.com/
 (index.html がダウンロードできればOK)
# curl --interface eth0:0 http://www.google.com/
 (応答があればOK)
# nmap -S 172.31.26.135 -e eth0 -Pn -sT -p 80 www.google.com
 (「80/tcp open http」であればOK)
```
**inbound (インターネットからip2)**
- インターネットから ip2(のグローバルIPアドレス)に ping で接続できるか
- telnet コマンドなどが利用できる場合、インターネットから ip2 のプロキシーポートに接続できるか
```
> telnet (ip2のグローバルIPアドレス) 80
GET http://www.google.com/ HTTP/1.0   (←入力後、リターン 2回)
```
- インターネットから ip2(のグローバルIPアドレス)の他のサービス(sshd など)に接続できるか

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る