메뉴 닫기

openstack router port forwarding 지금은 안되지만, ….

현재코드는 나왔는데 언제 소스에 반영되어 배포가 될지 모르겠다.

https://blueprints.launchpad.net/neutron/+spec/router-port-forwarding

사용할 수 없으니 , 그냥 수작업으로 한번 해봤다.  이전에는 floating ip를 연결하여 사용했었다. 

네트워크 노드에 들어가서 수작업으로 포트포워딩을 직접 실행해보자. 

 

일단 라우터 목록 먼저보고 

$ neutron router-list
+————————————–+—————-+——————————————————————————————————————————————————————————————–+
| id | name | external_gateway_info |
+————————————–+—————-+——————————————————————————————————————————————————————————————–+
| afb44f37-7741-4044-9eb9-659ae7a66cdb | jaeminj-router | {“network_id”: “f975f93d-1e20-4304-b949-8aab61213a3a”, “enable_snat”: true, “external_fixed_ips”: [{“subnet_id”: “324d0a02-991b-4d61-ab25-df40d55c03ca”, “ip_address”: “123.456.789.123”}]} |
+————————————–+—————-+——————————————————————————————————————————————————————————————–+

현재 실행중인 VM 목록도 보고 

$ nova list
+————————————–+——–+——–+————+————-+————————–+
| ID | Name | Status | Task State | Power State | Networks |
+————————————–+——–+——–+————+————-+————————–+
| 43e0fdbd-7e5f-439f-bdb3-2eb75c77ff05 | node01 | ACTIVE | – | Running | jaeminj-net=192.168.1.24 |
| 38ebe767-9537-433e-a2ad-e26d818d7e01 | node02 | ACTIVE | – | Running | jaeminj-net=192.168.1.20 |
| 7de68c65-ad07-4075-890b-35558661d917 | node03 | ACTIVE | – | Running | jaeminj-net=192.168.1.21 |
| ce8e71af-1a8d-4a03-a112-3bd5577b8c64 | node04 | ACTIVE | – | Running | jaeminj-net=192.168.1.23 |
| b47f8df0-2168-43f6-ad82-3b1aeacbe654 | node05 | ACTIVE | – | Running | jaeminj-net=192.168.1.22 |
+————————————–+——–+——–+————+————-+————————–+

라우터의 공인아이피는 123.456.789.123에 VM 192.168.1.24의 ssh port로 포트 포워딩을 해서 node를 관리하고자 한다. 

$ ip netns show
qrouter-afb44f37-7741-4044-9eb9-659ae7a66cdb
qdhcp-b7d03ba4-239e-4d1f-be41-d6cefe90bc46

neutron router id afb44f37-7741-4044-9eb9-659ae7a66cdb를  network namespace qrouter-afb44f37-7741-4044-9eb9-659ae7a66cdb로 존재한다.

해당 namespace에서 prerouting 테이블에 등록된 룰셋을 먼저 확인해보았다.

$ sudo ip netns exec qrouter-afb44f37-7741-4044-9eb9-659ae7a66cdb iptables -t nat -vnL PREROUTING

Chain PREROUTING (policy ACCEPT 1284 packets, 126K bytes)
pkts bytes target prot opt in out source destination
19618 1768K neutron-l3-agent-PREROUTING all — * * 0.0.0.0/0 0.0.0.0/0

라우터 123.456.789.123의 22포트를 VM 192.168.1.24의 22포트로 포트포워딩하는 룰셋을 아래와 같이 실행했다.
$ sudo ip netns exec qrouter-afb44f37-7741-4044-9eb9-659ae7a66cdb iptables -A PREROUTING -t nat -p tcp -d  123.456.789.123 –dport 22 -j DNAT –to 192.168.1.24:22

$ ssh -i my_key.pem ubuntu@123.456.789.123 

$ sudo ip netns exec qrouter-afb44f37-7741-4044-9eb9-659ae7a66cdb iptables -t nat -vnL PREROUTING
Chain PREROUTING (policy ACCEPT 1326 packets, 129K bytes)
pkts bytes target prot opt in out source destination
19660 1771K neutron-l3-agent-PREROUTING all — * * 0.0.0.0/0 0.0.0.0/0
8 384 DNAT tcp — * * 0.0.0.0/0 115.68.146.165 tcp dpt:22 to:192.168.1.24:22

 

포트포워딩이  배포가 안돼서 수작업으로 해봤다.

지금은 그냥  floating ip를 연결해서 사용하면 된다.  어렵게 생각하진 말자. 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x