안녕하세요
회사 고객님이 죽어도 ikev2로 VPN 구성해야 한다고해서
생전 첨 StrongSwan으로 구성해봤는데...
고객측에서의 패킷은 오는데 제가 관리하는 서버에서 던지는 패킷이 전혀 나가질 않습니다.
CentOS 6.7 에 Strongswan을 yum 으로 설치했고,
현재 구성은
172.16.30.1(고객측 private IP) -> 211.xxx.xxx.149(cisco router) -> ikev2 터널(인터넷) -> 서버(public ip) -> 10.10.10.1 (서버 private IP)
이런식인데...
고객측에서 10.10.10.1 로 ping을 던지면 잘 나가는데
서버 측에서 ping을 던지면 나가지를 않습니다.
다만 고객측에서 패킷이 넘어온 순간은 ping이 나갑니다...;
(그 때문에 NAT table 문제인것 같다는 생각도 듭니다만... 어찌해야할지를 모르겠습니다.)
traceroute 해봤더니, 서버에서 보내는 ping은 vpn 터널을 아에 타질 않더군요...
라우팅 경로 문제라서 생각되서 해결을 위해 찾아봤는데
# ip rule show
0: from all lookup local
220: from all lookup 220
32766: from all lookup main
32767: from all lookup default
# ip route show table 220
172.16.30.0/24 via 133.xxx.xxx.1 dev eth0 proto static src 10.10.10.1
어째서인지 고객측 IP인 211.xxx.xxx.149 가 아니라 133.xxx.xxx1 로 나오고 있습니다.
strongswan 자체를 yum 으로 설치해서 그런지 status 를 보려고 해도
# /etc/init.d/strongswan status
starter (pid 17063) is running...
정도로만 나오는지라 제대로 연결은 된건지 뭔지 감이 잡히질 않습니다...;;
IPTABLE 룰은 아래와 같이 추가해뒀습니다.
iptables -A INPUT -s 10.10.10.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.30.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.10.10.0/25 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.30.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 172.16.30.0/24 -j MASQUERADE
iptables -A INPUT -i eth0 -p esp -j ACCEPT
iptables -A INPUT -i eth0 -p ah -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m udp --sport 500 --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m udp --sport 4500 --dport 4500 -j ACCEPT
iptables -A OUTPUT -o eth0 -p esp -j ACCEPT
iptables -A OUTPUT -o eth0 -p ah -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --sport 500 --dport 500 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --sport 4500 --dport 4500 -j ACCEPT
iptables -A FORWARD -s 10.10.10.1 -d 172.16.30.0/24 -o eth0 -m policy --dir out --pol ipsec --proto esp -j ACCEPT
iptables -A FORWARD -s 172.16.30.0/24 -d 10.10.10.1 -o eth0 -m policy --dir in --pol ipsec -j ACCEPT
iptables -A FORWARD -s 10.10.10.1 -d 172.16.30.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
iptables -A FORWARD -d 172.16.30.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
제가 지금 거의 뭐 패닉상태라
혹시 strongswan 써보신 분 있으시면 도움 부탁드립니다.
읽어주셔서 감사합니다.
Ȥ½Ã, Áß°£¿¡ NAT µÇ¾î¾ß ÇÏ´Â ±¸°£ÀÌ ÀÖ³ª¿ä.
(¾çÂÊ configuration µµ À§ÇèÇÏÁö ¾ÊÀº ¼±¿¡¼ º¼ ¼ö ÀÖÀ»±î¿ä)
°í°´Ãø config´Â °í°´Ãø¿¡¼ ¼³Á¤ÇѰŶó ÀßÀº ¸ð¸¨´Ï´Ù. (¾Ö´çÃÊ Àß ¸ô¶ó¼¿ä ^^;)
Á¦°¡ ¼³Á¤ÇÑ ¼¹ö´Â ÀÌ·¸½À´Ï´Ù.
#ipsec.conf
config setup
# strictcrlpolicy=yes
# uniqueids = no
conn %default
ikelifetime=1440m
keylife=60m
rekeymargin=30m
keyingtries=1
keyexchange=ikev2
authby=secret
conn cococo01
left=133.xxx.xxx.113
leftsubnet=10.10.10.1/32
leftid=133.xxx.xx.113
leftfirewall=yes
leftauth=secret
right=211.xxx.xxx.149
rightsubnet=172.16.30.0/24
rightid=211.xxx.xxx.149
rightauth=secret
auto=add
ike=aes256-sha256-modp1536
esp=aes256-sha256
keyexchange=ikev2
mobike=no # Ãß°¡¼³Á¤1
type=tunnel # Ãß°¡¼³Á¤2
ÀÌ·¸°Ô µË´Ï´Ù.
¼¹öÃøÀº °¡»ó¸Ó½Å¿¡ (conoha vps) site-to-site ¸¦ À§ÇØ private ip ¸¦ ½É¾ú½À´Ï´Ù.
´Ù¸¸ ÀÌ private ip´Â ±×³É ½ÉÀº°Ô ¾Æ´Ï¶ó, openvpnÀ» ±¸ÃàÇؼ ±×ÂÊ IP¸¦ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.
(ÀÌÂÊ VPN ³×Æ®¿öÅ©¶û ÀúÂÊÀ» ¿¬µ¿ÇÒ °èȹµµ ÀÖ½À´Ï´Ù.)
¾Æ¸¶ ÀÌ ¶§¹®¿¡ NAT°¡ ÇÊ¿äÇÑ °Í °°½À´Ï´Ù.
Â÷¶ó¸® ÀÌ OPENVPNÀ» Æó±âÇÏ°í eth0¿¡ private ip¸¦ ½É´Â°ÍÀÌ ³ªÀ»·±Áö¿ä?
°¡»ó¸Ó½ÅÂÊ ¼³¸í¼¸¦ º¸´Ï, ·ÎÄó×Æ®¿öÅ©¸¦ À§Çؼ´Â ¾Æ¿¡ ÀÎÅÍÆäÀ̽º¸¦ Ãß°¡Ç϶ó°í µÇ¾î ÀÖ´ÂÁö¶ó...
¸ðÂÉ·Ï Á¶¾ð ºÎŹµå¸³´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
Ãß°¡ ::
charon.log ¿¡´Â ¾Æ·¡¿Í °°Àº ºÎºÐÀÌ ÀÖ½À´Ï´Ù.
Jan 26 09:51:40 15[KNL] <cococo01|1> using 133.xxx.xxx.1 as nexthop to reach 211.xxx.xxx.149/32
ÀÌ°É ºÁ¼´Â ¶ó¿ìÆÃÀÌ À߸øµÈ °Íµµ ¾Æ´Ñµí Çѵ¥... ¤Ñ¤Ì
Ãß°¡ £²::
tun0 ÀÎÅÍÆäÀ̽º¸¦ »èÁ¦ÇÏ°í
eth1 ¸¦ Ãß°¡Çؼ (°¡»ó¸Ó½Å NIC ÀÎÅÍÆäÀ̽º) µ¿ÀÏÇÑ IP (10.10.10.1)¸¦ ÁÖ´Ï ¿òÁ÷ÀÔ´Ï´Ù...
¹º°¡ Çã¸ÁÇÏ³×¿ä ¤Ð_¤Ð
°¨»çÇÕ´Ï´Ù.