/etc/strongswan/ipsec.confLinux는 IPSec VPN을  위해서 기본적으로 OpenSwan 또는 StrongSwan 패키지를 지원한다.

Windows도 RRAS를 통해 자체적으로 지원한다. 

http://docs.aws.amazon.com/ko_kr/AmazonVPC/latest/NetworkAdminGuide/customer-gateway-windows-2012.html

http://techgenix.com/configure-vpn-windows-server-2012-r2/


아무래도 Linux가 설정이나 트러블 슈팅하기가 더 쉽다. Linux 머신만 있으면 VPN장비 부럽지 않다.

고급 설정이 좀 더 가능한 StrongSwan을 사용해보자. (물론 여기서 고급기능을 쓰지는 않지만...)


사실 AWS, Azure, Softlayer, Alibaba 아무관계가 없다. 모두 IPSec VPN 서비스가 있지만, 가끔 이렇게 직접 구축이 필요할 때가 있다.

다만 Softlayer는 Router Roll은 vyatta에 한정되어 있으므로, 서버에 VPN을 구축할 경우

모든 서버의 라우팅에 VPN서버를 별도 추가 해주어야 하는 불편함은 있다. (하지만, 그냥 하면 되므로 불편한거지 어려운 부분은 아니다)

vyatta을 쓰면 vyatta에서 모두 지원하므로 이렇게 쓸일이 없지만, vyatta는 비싸므로 서버만 쓰는 경우를 예로 든다.


CentOS7 기준으로 설명한다. 

설정 편의를 위해 PSK(PreSharedKey)로 설정한다. 네트워크 정보는 아래를 예시로 했다.

 

 VPN 서버 Public IP

 Network 사설 대역

 A쪽 Network

 169.11.22.33

 10.100.50.0/24

 B쪽 Network

 211.66.77.88

 192.168.20.0/24


일단 ip_forward를 활성화한다. 그리고 strongswan을 설치 및 자동 실행 설정을 한다.

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.d/ip_forward.conf
sysctl -p /etc/sysctl.d/ip_forward.conf
cat /proc/sys/net/ipv4/ip_forward

yum install -y epel-release
yum install -y strongswan

systemctl enable strongswan
systemctl start strongswan


설정은 ipsec.conf 만 해주면 되고, PSK는 ipsec.secret에 적어주면 끝이다.

아래 설정은 A쪽 설정이다, B쪽은 left와 right쪽 정보만 반대로 해주면 된다.

/etc/strongswan/ipsec.conf

# ipsec.conf
config setup
  strictcrlpolicy=no
  uniqueids=no
  charondebug="cfg 2, ike 2, knl 2"
#  charondebug="dmn 2, mgr 2, ike 2, chd 2, job 2, cfg 2, knl 2, net 2, enc 2, lib 2"

conn %default
  ikelifetime=14400
  keylife=3600
  keyexchange=ikev2

conn sample
  authby=secret
  auto=start
  type=tunnel
  leftauth=psk
  rightauth=psk
  left=169.11.22.33
  right=211.66.77.88
  leftsubnet=10.100.50.0/24
  rightsubnet=192.168.20.0/24
  ike=aes256-sha256-modp2048
  esp=aes256-sha256-modp2048


/etc/strongswan/ipsec.secret

# ipsec.secret
169.11.22.33 : PSK "Cloud1004@Test"
211.66.77.88 : PSK "Cloud1004@Test"


양단 설정이 다 되었으면 재 시작 하고 터널 상태를 확인한다.

strongswan restart
strongswan statusall



잘 안될경우 로그를 확인한다.  로그 레벨과 파트는 ipsec.conf에서 charondebug 부분을 참조 해서 변경한다. 경우에 따라 tcpdump 를 볼 필요성도 있다.

tail -f /var/log/message /var/log/secure

AWS/Alibaba는  라우팅 설정에서 상대편 대역은 해당 서버로 가게 끔 추가 해 준다.

IBM Cloud는 vyatta를  안쓰면 라우팅 설정을 못 바꾸므로 연결되는 모든 서버에서 각각 라우팅을 추가 해주어야 한다.
(VPN 장비의 사설 IP가 10.100.50.100 이라고 할 때)

리부팅 되도 유지되도록 설정한다.

Windwos의 경우 route add 명령에 -p 옵션만 주면 영구 설정이 되며 재부팅시 유지된다.
실제 다음 레지스트리에 기록된다.
HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES\TCPIP\PARAMETERS\PERSISTENTROUTES

route -p add 10.100.50.0 MASK 255.255.255.0 10.100.50.100 METRIC 1
route print

Linux는 /etc/sysconfig/network-scripts/route-eth0 넣고 
systemctl restart network 해주면 된다.

echo "10.100.50.0/24 via 10.100.50.100" >> /etc/sysconfig/network-scripts/route-eth0
systemctl restart network
ip route


단순히 테스트 할 때는 아래 처럼 하면 된다. 

Windows

route add 10.100.50.0 MASK 255.255.255.0 10.100.50.100 METRIC 1
route print

Linux

ip route add 10.100.50.0/24 via 10.100.50.100
ip route


저작자 표시 비영리
신고

정확하게는 Reverse Proxy 형태의 포트 포워딩 되시겠다.

방법은 여러가 지가 있겠으나... 일단 TCP 레벨이 가능한 아래 2가지를 먼저 해본다.

NGINX/HAProxy를 쓰는 방법

IPTables(CentOS6) 또는 FirewallD(CentOS7)를 쓰는 방법

NGINX 설정

sudo su -
yum install -y nginx nginx-mod-stream
vi /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

stream {
    server {
        listen     443;
        proxy_pass s3.ap-northeast-2.amazonaws.com:443;
    }
}
#자동 시작 설정 및 서비스 시작
systemctl enable nginx
systemctl start nginx

#동작 테스트
curl -v --insecure https://localhost
저작자 표시 비영리
신고

'ETC.' 카테고리의 다른 글

Proxy 설정 - nginx 사용하기  (0) 2017.12.14
Subnet BIT  (0) 2017.08.30

AWS는 re:Invent 때 항상 깜짝 놀랄만한 서비스를 출시합니다.

아무도 예상 못해선... 설마했던... 그것을 아마존이 또 출시했네요.. 바로 VM이 아닌 물리서버인 베어메탈 서비스 입니다.

사실 VMware on AWS를 출시할 때 부터 가능성이 점쳐졌던 거긴 한데요...

설마 진짜 베어메탈 서비스를 출시 할지 몰랐네요. 사용자 입장에서의 사용성은 베어메탈도 VM과 동일 합니다.

서버의 순수한 성능을 다 확보 할수 있고, 라이센스 정책에서 좀 더 자유로울 수 있겠네요.

Softlayer(IBM Cloud)가 거의 베어메탈의 표준 처럼 잡고 있는 클라우드였는데요.... 이제 긴장해야겠습니다. 

아직 AWS가 프리뷰이긴하지만 언제 훅 치고 들어올지 모르니까요.


출처: https://aws.amazon.com/ko/blogs/aws/new-amazon-ec2-bare-metal-instances-with-direct-access-to-hardware/

Amazon EC2 Bare Metal Instances with Direct Access to Hardware

When customers come to us with new and unique requirements for AWS, we listen closely, ask lots of questions, and do our best to understand and address their needs. When we do this, we make the resulting service or feature generally available; we do not build one-offs or “snowflakes” for individual customers. That model is messy and hard to scale and is not the way we work.

Instead, every AWS customer has access to whatever it is that we build, and everyone benefits. VMware Cloud on AWS is a good example of this strategy in action. They told us that they wanted to run their virtualization stack directly on the hardware, within the AWS Cloud, giving their customers access to the elasticity, security, and reliability (not to mention the broad array of services) that AWS offers.

We knew that other customers also had interesting use cases for bare metal hardware and didn’t want to take the performance hit of nested virtualization. They wanted access to the physical resources for applications that take advantage of low-level hardware features such as performance counters and Intel® VT that are not always available or fully supported in virtualized environments, and also for applications intended to run directly on the hardware or licensed and supported for use in non-virtualized environments.

Our multi-year effort to move networking, storage, and other EC2 features out of our virtualization platform and into dedicated hardware was already well underway and provided the perfect foundation for a possible solution. This work, as I described in Now Available – Compute-Intensive C5 Instances for Amazon EC2, includes a set of dedicated hardware accelerators.

Now that we have provided VMware with the bare metal access that they requested, we are doing the same for all AWS customers. I’m really looking forward to seeing what you can do with them!

New Bare Metal Instances
Today we are launching a public preview the i3.metal instance, the first in a series of EC2 instances that offer the best of both worlds, allowing the operating system to run directly on the underlying hardware while still providing access to all of the benefits of the cloud. The instance gives you direct access to the processor and other hardware, and has the following specifications:

  • Processing – Two Intel Xeon E5-2686 v4 processors running at 2.3 GHz, with a total of 36 hyperthreaded cores (72 logical processors).
  • Memory – 512 GiB.
  • Storage – 15.2 terabytes of local, SSD-based NVMe storage.
  • Network – 25 Gbps of ENA-based enhanced networking.

Bare Metal instances are full-fledged members of the EC2 family and can take advantage of Elastic Load BalancingAuto ScalingAmazon CloudWatchAuto Recovery, and so forth. They can also access the full suite of AWS databaseIoTmobileanalyticsartificial intelligence, and security services.

Previewing Now
We are launching a public preview of the Bare Metal instances today; please sign up now if you want to try them out.

You can now bring your specialized applications or your own stack of virtualized components to AWS and run them on Bare Metal instances. If you are using or thinking about using containers, these instances make a great host for CoreOS.

An AMI that works on one of the new C5 instances should also work on an I3 Bare Metal Instance. It must have the ENA and NVMe drivers, and must be tagged for ENA.

— Jeff;

 


저작자 표시 비영리
신고

+ Recent posts