저는 Arch에서 Shorewall을 사용하여 2개의 로컬 네트워크와 2개의 ISP 연결로 설정을 관리하려고 합니다. 궁극적으로 로컬 네트워크 1(192.168.1.0/24 인터페이스 enp5s0)의 트래픽은 ISP 1(76. ... 인터페이스 enp6s0)을 사용하고 로컬 2(192.168.0.0/24 인터페이스 enp7s0)의 트래픽은 ISP 2(99)를 사용하기를 원합니다. .... 인터페이스 enp3s0). 현재 어떤 기본 경로가 먼저 나오는지에 따라 둘 중 하나만 작동하도록 할 수 있습니다.
output of `ip route ls` with sensitive information redacted:
default via 76.[rd].1 dev enp6s0 src 76.[rd].78 metric 203 mtu 576
default via 99.[rd].1 dev enp3s0 src 99.[rd].190 metric 205
76.[rd].0/24 dev enp6s0 proto kernel scope link src 76.[rd].78 metric 203 mtu 576
76.[rd].78 dev enp6s0 scope link src 76.[rd].78
99.194.48.0/21 dev enp3s0 proto kernel scope link src 99.[rd].190 metric 205
99.[rd].190 dev enp3s0 scope link src 99.[rd].190
192.168.0.0/24 dev enp7s0 proto kernel scope link src 192.168.0.1 metric 204
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.1 metric 202
위의 출력을 사용하면 로컬 1은 외부에 도달할 수 있지만 로컬 2는 외부에 도달할 수 없습니다. 첫 번째 줄이 사라진 경우에는 그 반대입니다. ISP가 여러 개인 경우에도 여러 기본 경로를 사용하는 것은 불가능하다고 확신하지만 이것이 Shorewall의 방식입니다.
이에 대한 예제가 어디에도 없었기 때문에 Shorewall의 3개 인터페이스 예제를 기반으로 했습니다. 이 게시물이 너무 길어지는 것을 방지하기 위해 각 관련 해안벽 구성의 붙여넣기에 대한 링크는 다음과 같습니다.
- 인터페이스:http://pastebin.com/u7w3YJdx
- 압착 롤러:http://pastebin.com/1X2hrLCZ
- 마스크:http://pastebin.com/bi9EEtwD
- 정책:http://pastebin.com/mBBZQ0wg
- 규칙:http://pastebin.com/ySSLpMWd
- 공급자:http://pastebin.com/YjDfKZzg
- 구역:http://pastebin.com/XVgYz3dn
이 문제에 대한 Shorewall의 페이지는 도움이 되지 않습니다. 예의 목표가 내 목표와 매우 다르기 때문입니다. 올바른 방향에 대한 조언을 주시면 감사하겠습니다.
답변1
netctl 파일이나 다른 파일에 기본 게이트웨이를 설정하지 않았는지 확인하세요. IP 주소를 얻기 위해 DHCP를 사용하는 경우 기본 게이트웨이 가져오기를 비활성화해야 합니다(dhcpcd -G). "ip Route ls"를 실행하면기본 게이트웨이를 표시하지 않음. "ip Route show table all"만 각 ISP 테이블의 기본 게이트웨이를 나열합니다. 이 같은:
default via 10.1.1.1 dev enp3s0 table ITC1 src 10.1.1.10
10.1.1.1 dev enp3s0 table ITC1 scope link src 10.1.1.10
default via 10.1.2.1 dev enp4s0 table ITC2 src 10.1.2.10
10.1.2.1 dev enp4s0 table ITC2 scope link src 10.1.2.10
default via X.X.X.X dev enp5s0 table MPLS src X.X.X.X
X.X.X.X dev enp5s0 table MPLS scope link src X.X.X.X
default table balance
nexthop via X.X.X.X dev enp5s0 weight 1
nexthop via 10.1.1.1 dev enp3s0 weight 2
nexthop via 10.1.2.1 dev enp4s0 weight 2
또한 rtrules 항목이 필요한 항목에 충분하므로 mangle 파일에서 항목을 제거할 수 있습니다.