access-list에서 tftp sevice를 허용해 줄 경우 일단 tftp는 udp port 69번을 사용 한다는 것을 알아야 합니다. 하지만 access-list에서 udp port 69번만 open 해 줄 경우 connect는 되지만 data 전송은 되지 않습니다. 이유는 연결은 udp 69로 데이터 전송은 udp 1390으로 사용하기 때문 입니다.
이유는 tftp server가 udp port 69의 다른 접속을 위해 점유 상태를 풀려고 하기 때문이라는 군요.
따라서 tftp service를 open 해 줄 경우 udp 69,1390을 open 해 줘야 합니다.
Description:
Files can be read from or written to the TFTP server.
| MAC header | IP header | UDP header | TFTP header | Data ::: |
TFTP header:
Opcode. 16 bits, unsigned.
Specifies the format of the TFTP message.
| Opcode | Description | References |
|---|
| 1 | RRQ. Read request. | RFC 2090 |
|---|
| 2 | WRQ. Write request. | |
|---|
| 3 | DATA. Read or write the next block of data. | |
|---|
| 4 | ACK. Acknowledgment. | |
|---|
| 5 | ERROR. Error message. | |
|---|
| 6 | OACK. Option acknowledgment. | RFC 2347 |
|---|
Error codes:
| Error | Description |
|---|
| 0 | No error. |
|---|
| 1 | File not found. |
|---|
| 2 | Access violation. |
|---|
| 3 | Disk full or allocation exceeded. |
|---|
| 4 | Illegal TFTP operation. |
|---|
| 5 | Unknown transfer ID. |
|---|
| 6 | File already exists. |
|---|
| 7 | No such user. |
|---|
| 8 | Terminate transfer due to option negotiation. |
|---|