![AWS EC2 인스턴스의 Ezjail 네트워크](https://linux55.com/image/191094/AWS%20EC2%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%9D%98%20Ezjail%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC.png)
AWS EC2 인스턴스의 감옥을 인터넷에 연결하려고 합니다. 감옥을 생성하고 그 안에서 콘솔을 실행할 수 있는데, 문제는 감옥이 외부와 연결되어 있지 않다는 것입니다.
감옥을 만드는 단계는 다음과 같습니다.
echo 'cloned_interfaces="lo1"' >> /etc/rc.conf
service netif cloneup
ezjail-admin create jail 'lo1|127.0.1.1,xn0|172.31.36.57'
cp /etc/resolv.conf /usr/jails/jail/etc
ezjail-admin console -f jail
그 후 pkg를 사용하여 설치를 시도하면 다음과 같습니다.
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:12:amd64/quarterly, please wait...
pkg: Error fetching http://pkg.FreeBSD.org/FreeBSD:12:amd64/quarterly/Latest/pkg.txz: No address record
Address resolution failed for http://pkg.FreeBSD.org/FreeBSD:12:amd64/quarterly.
Consider changing PACKAGESITE.
호스트 ifconfig의 출력을 확인합니다.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
xn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9001
options=503<RXCSUM,TXCSUM,TSO4,LRO>
ether 06:26:aa:da:23:d2
inet6 fe80::426:aaff:feda:23d2%xn0 prefixlen 64 scopeid 0x2
inet 172.31.36.56 netmask 0xfffff000 broadcast 172.31.47.255
inet 172.31.36.57 netmask 0xffffffff broadcast 172.31.36.57
media: Ethernet manual
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 fe80::1%lo1 prefixlen 64 scopeid 0x3
inet 127.0.1.1 netmask 0xffffffff
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
인터페이스에 부여한 두 번째 IP가 잘못된 것 같습니다.
감옥에서 연결을 얻는 방법이 무엇인지 아십니까?
답변1
pf를 사용하여 연결을 작동시키세요
ext_if="xn0"
jail_net="127.0.1.1"
nat pass on $ext_if from $jail_net to any -> $ext_if
pass out
pass in