ソースIPアドレスを指定してsshする
経緯
HA構成のサーバから他のサーバにsshする際、ソースIPをVIPにする必要があったのでメモ
設定
sshのオプションで-o bindaddress=<ソースIPアドレス>
を使えばいいらしい
host1からhost2へのsshを試してみます。
host1:10.0.0.10(rip)、10.0.0.20(vip)
host2:10.0.0.30(rip)
普通にsshした場合
[root@host1 ~]# ssh root@10.0.0.30 Last login: Wed Sep 9 21:37:08 2020 from 10.0.0.10 [root@host2 ~]#
host2の/var/log/secureを見ると、接続元は「10.0.0.10」
Sep 9 21:44:20 host1 sshd[13344]: Connection from 10.0.0.10 port 55155 on 10.0.0.30 port 22
ソースIPを変えてsshした場合
[root@host1 ~]# ssh -o bindaddress=10.0.0.20 root@10.0.0.30 Last login: Wed Sep 9 21:48:49 2020 from 10.0.0.20 [root@host2 ~]#
接続元がvipである「10.0.0.20」になりました。
Sep 9 21:50:09 host1 sshd[13774]: Connection from 10.0.0.20 port 41473 on 10.0.0.30 port 22
マシンに無いアドレスを指定するとエラー
[root@host1 ~]# ssh -o bindaddress=10.0.0.40 root@10.0.0.30 bind: 10.0.0.40: Cannnot assign requested address
sftpでも使えます。
[root@host1 ~]# sftp -o bindaddress=10.0.0.10 10.0.0.30 Connecting to 10.0.0.30... sftp>