방화벽에서 포트가 open 되어 있는지 확인해보려 합니다.
서버가 한두대가 아니라 아무래도 스크립트를 이용해서 해야 할듯 한데...
아직 스크립트 실력이 미약하여 글 올립니다.
현재 각 서버에 대표 아이피를 통해서 ssh로 접속하고,
해당 서버에서 상대방 서버가 방화벽이 오픈되어 있는지 확인하려합니다.
아래와 같이 말이죠.
1. 현재는 노트북A 에서 ssh ID@대표IP:포트번호 -> B서버로 접속하고
2. B서버로 접속후 C서버의 방화벽과 더불어 원하는 서비스가 설치되어 있는지 확인합니다. (curl 을 이용)
ex) [root@aServer B]# curl -l c서버IP:포트
3. 그런데 C서버 자리에 D..E..F..G...이렇게 수십개가 되는데...이걸 노트북A 에서 스크립트로 한번에 체크할수 있는 스크립트 있을까요?
노트북은 리눅스입니다.
감사합니다.
송호성
root@G9:~# cat svrlist.txt
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
root@G9:~# cat cloop.sh
#/bin/bash
for ip in `cat svrlist.txt`
do
curl -l $ip:22
done
root@G9:~# bash cloop.sh
SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u7
Protocol mismatch.
curl: (56) Recv failure: Connection reset by peer
curl: (7) Failed to connect to 192.168.1.2 port 22: No route to host
curl: (7) Failed to connect to 192.168.1.3 port 22: No route to host
^C
root@G9:~#
Á¶±Ý Á¦ ±ÛÀÌ ÀÌ»óÇÑ°Í °°Àºµ¥...
¾Æ¹«Æ° ¸»½¿ÇØÁÖ½Å°Í Âü°íÇؼ ¿¬±¸Çѹø ÇغÁ¾ß°Ú³×¿ä.
°¨»çÇÕ´Ï´Ù. ^^
º¸¾È ¹®Á¦°¡ Á» ÀÖÀ» ¼ö Àִµ¥,
Á¢±ÙÇÏ´Â °èÁ¤¸í¿¡ srvlist.txt ¸¦ ¸¸µé¾î µÎ½Ã°Å³ª ½ºÅ©¸³Æ®¾È¿¡ ¼¹ö ¸®½ºÆ®¸¦ ³Ö°í µ¹¸®½Ã°Å³ª ÇÏ°í
ssh °èÁ¤¸í@¿ø°ÝÈ£½ºÆ®(IP) ¼öÇàÇÒ¸í·É¾î < ·ÎÄÃ_½ºÅ©¸³Æ®.sh
·Î ½ÇÇàÇÏ½Ã¸é µÉ °Í °°½À´Ï´Ù.
root@G9:~# cat cloop.sh
#/bin/bash
for ip in `cat svrlist.txt`
do
echo -l $ip:22
done
root@G9:~# ssh admin@192.168.1.201 'bash' < cloop.sh
admin@192.168.1.201's password:
-l 192.168.1.1:22
-l 192.168.1.2:22
-l 192.168.1.3:22
-l 192.168.1.4:22
-l 192.168.1.5:22
-l 192.168.1.6:22
-l 192.168.1.7:22
-l 192.168.1.8:22
-l 192.168.1.9:22